[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [XEN PATCH][for-next v2 6/8] x86/mce: Move MC_NCLASSES into the enum mctelem_class


  • To: Nicola Vetrini <nicola.vetrini@xxxxxxxxxxx>
  • From: Jan Beulich <jbeulich@xxxxxxxx>
  • Date: Tue, 17 Oct 2023 10:26:24 +0200
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=E5owAHsH02mEG9Pn1Q8DiJ+GrtJZuEr0uo6ZXpXZ2Ss=; b=KqaL/u+6q8j310RwvrGCZ9HhipafT75CnPrkML8PxFVlzf3CX0YLHtbN4iaNXOh5jPpG5KButksQQNYMPuchvtLoRkJtQKw63CsHGo3jEc8QbiQQJtneAfF+TqPbMkGrCEOMrfq0Sc9FR4zLx+9aYHg1MZaUo5yY4kpNT3z/BPedi5OOrCySNrAEww/z5hpsBx6r1QeIGSco7O3zmPKkFAo7+SeR0s5nFb71Bl7edJ7zV7nffVSP8sHjIHdD2mLMUr2Rk2mW/ITmCsF8sQPcm/kPFQAolR2inqjRXG7328799TP2mXsthzuwbQy4hgGTK144PT5m4lhnD2OPZTXVeQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gIdfeU0OJyg31wdf8bUtDc3BLC37QOJ0yM6WdZQV8AW+zRjUt2FFJFPviAP6aZhaQJWhsn5Y9/kw+uAVGZ+JPSgTurJ8AVrpLaHTI6qBnw6HDRLW3KRiMh7WrhIAlFn41C2YiJJinN/qf9irHP49+aSSO4ckKozF2CdlKqMj7gBEuX3rcVTsMhjMdZULQx+n2XklbFEFTbvzxjRuia7m2PWfqrnjZQ2w/KRYWXDcgsU5QRNIGi43cozETGXUFcJzSggppSpSo+J/X8OM9D9J3POHoHuJORSxNfy/n0aR6plgJ3Udf26r07XcLvLtSQchRK4dNTjf7uv8sYWEv3qG/g==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com;
  • Cc: Roberto Bagnara <roberto.bagnara@xxxxxxxxxxx>, sstabellini@xxxxxxxxxx, michal.orzel@xxxxxxx, xenia.ragiadakou@xxxxxxx, ayan.kumar.halder@xxxxxxx, consulting@xxxxxxxxxxx, andrew.cooper3@xxxxxxxxxx, roger.pau@xxxxxxxxxx, Wei Liu <wl@xxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx
  • Delivery-date: Tue, 17 Oct 2023 08:26:45 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 17.10.2023 10:12, Nicola Vetrini wrote:
> On 17/10/2023 09:02, Jan Beulich wrote:
>> On 16.10.2023 18:05, Nicola Vetrini wrote:
>>> On 16/10/2023 17:45, Jan Beulich wrote:
>>>> On 12.10.2023 17:28, Nicola Vetrini wrote:
>>>>> The definition of MC_NCLASSES contained a violation of MISRA C:2012
>>>>> Rule 10.1, therefore by moving it as an enumeration constant 
>>>>> resolves
>>>>> the
>>>>> violation and makes it more resilient to possible additions to that
>>>>> enum.
>>>>
>>>> And using an enumerator as array dimension specifier is okay for 
>>>> Misra?
>>>> That would be odd when elsewhere named enums are treated specially.
>>>
>>> Yes, the array subscript operator is one of the few places where an 
>>> enum
>>> can be used as
>>> an operand (also because negative values wouldn't compile), as opposed
>>> to mixing them
>>> with ordinary integers.
>>
>> When saying "odd" I didn't even think of negative values. May I 
>> therefore
>> ask for the reasoning of why this specific case is deemed non-risky? To
>> me there looks to be a fair risk of creating undersized arrays, leading
>> to out-of-bounds accesses.
> 
> Two reasons: MC_NCLASSES is the last value of the enum, and a pattern 
> I've spot in various
> other places in Xen, so I assumed it was a fairly common pattern for the 
> community.
> The other reason is that since the value of an enum constant can be 
> derived statically, there
> is little risk of it being the wrong value, because no arithmetic is 
> done on it in its use
> as an array's size (and besides, the enum changed the last time ~15 
> years ago, so I think
> it's unlikely to change much in the near future).

You focus on the specific instance, yet my question was on the general
principle.

Jan



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.