From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com,
consulting@bugseng.com, "Jan Beulich" <jbeulich@suse.com>,
"Andrew Cooper" <andrew.cooper3@citrix.com>,
"Roger Pau Monné" <roger.pau@citrix.com>
Subject: Re: [XEN PATCH 2/4] x86/hvm: address violations of MISRA C Rule 20.7
Date: Thu, 16 May 2024 09:06:12 +0200 [thread overview]
Message-ID: <b78517fce0f119200e07863ce9eac152@bugseng.com> (raw)
In-Reply-To: <alpine.DEB.2.22.394.2405151618170.2544314@ubuntu-linux-20-04-desktop>
On 2024-05-16 01:18, Stefano Stabellini wrote:
> On Wed, 15 May 2024, Nicola Vetrini wrote:
>> MISRA C Rule 20.7 states: "Expressions resulting from the expansion
>> of macro parameters shall be enclosed in parentheses". Therefore, some
>> macro definitions should gain additional parentheses to ensure that
>> all
>> current and future users will be safe with respect to expansions that
>> can possibly alter the semantics of the passed-in macro parameter.
>>
>> No functional change.
>>
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
>
>
>> ---
>> xen/arch/x86/hvm/mtrr.c | 2 +-
>> xen/arch/x86/hvm/rtc.c | 2 +-
>> xen/arch/x86/include/asm/hvm/save.h | 2 +-
>> 3 files changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
>> index 32f74c1db03b..1079851f70ed 100644
>> --- a/xen/arch/x86/hvm/mtrr.c
>> +++ b/xen/arch/x86/hvm/mtrr.c
>> @@ -16,7 +16,7 @@
>> #include <public/hvm/e820.h>
>>
>> /* Get page attribute fields (PAn) from PAT MSR. */
>> -#define pat_cr_2_paf(pat_cr,n) ((((uint64_t)pat_cr) >> ((n)<<3)) &
>> 0xff)
>> +#define pat_cr_2_paf(pat_cr, n) ((((uint64_t)(pat_cr)) >> ((n) <<
>> 3)) & 0xff)
>
> just a cosmetic change
>
No. The point here is that pat_cr could in principle be something like 1
+ 2, which without parentheses may not expand as intended (in this case
because of the nearby cast). Then there's also the style fix on n
>
>> /* Effective mm type lookup table, according to MTRR and PAT. */
>> static const uint8_t mm_type_tbl[MTRR_NUM_TYPES][X86_NUM_MT] = {
>> diff --git a/xen/arch/x86/hvm/rtc.c b/xen/arch/x86/hvm/rtc.c
>> index 4bb1c7505534..72c7bdbfcd02 100644
>> --- a/xen/arch/x86/hvm/rtc.c
>> +++ b/xen/arch/x86/hvm/rtc.c
>> @@ -45,7 +45,7 @@
>> #define vrtc_domain(x) (container_of(x, struct pl_time,
>> vrtc)->domain)
>> #define vrtc_vcpu(x) (pt_global_vcpu_target(vrtc_domain(x)))
>> #define epoch_year 1900
>> -#define get_year(x) (x + epoch_year)
>> +#define get_year(x) ((x) + epoch_year)
>>
>> enum rtc_mode {
>> rtc_mode_no_ack,
>> diff --git a/xen/arch/x86/include/asm/hvm/save.h
>> b/xen/arch/x86/include/asm/hvm/save.h
>> index 8149aa113cb4..ec8de029319d 100644
>> --- a/xen/arch/x86/include/asm/hvm/save.h
>> +++ b/xen/arch/x86/include/asm/hvm/save.h
>> @@ -50,7 +50,7 @@ int _hvm_check_entry(struct hvm_domain_context *h,
>> HVM_SAVE_LENGTH(x), true) == 0 ) \
>> { \
>> ptr = &(h)->data[(h)->cur]; \
>> - h->cur += HVM_SAVE_LENGTH(x); \
>> + (h)->cur += HVM_SAVE_LENGTH(x); \
>> } \
>> ptr; })
>>
>> --
>> 2.34.1
>>
--
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)
next prev parent reply other threads:[~2024-05-16 7:06 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-15 7:34 [XEN PATCH 0/4] address violations of MISRA C Rule 20.7 Nicola Vetrini
2024-05-15 7:34 ` [XEN PATCH 1/4] x86/vpmu: " Nicola Vetrini
2024-05-15 23:17 ` Stefano Stabellini
2024-05-21 11:20 ` Jan Beulich
2024-05-15 7:34 ` [XEN PATCH 2/4] x86/hvm: " Nicola Vetrini
2024-05-15 23:18 ` Stefano Stabellini
2024-05-16 7:06 ` Nicola Vetrini [this message]
2024-05-21 11:24 ` Jan Beulich
2024-05-15 7:34 ` [XEN PATCH 3/4] x86_64/uaccess: " Nicola Vetrini
2024-05-15 23:19 ` Stefano Stabellini
2024-05-21 11:27 ` Jan Beulich
2024-05-15 7:34 ` [XEN PATCH 4/4] x86_64/cpu_idle: " Nicola Vetrini
2024-05-15 23:19 ` Stefano Stabellini
2024-05-21 11:28 ` Jan Beulich
2024-05-15 7:48 ` [XEN PATCH 0/4] " Jan Beulich
2024-05-16 15:58 ` Oleksii K.
2024-05-16 16:08 ` Jan Beulich
2024-05-16 19:21 ` Oleksii K.
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b78517fce0f119200e07863ce9eac152@bugseng.com \
--to=nicola.vetrini@bugseng.com \
--cc=andrew.cooper3@citrix.com \
--cc=ayan.kumar.halder@amd.com \
--cc=consulting@bugseng.com \
--cc=jbeulich@suse.com \
--cc=michal.orzel@amd.com \
--cc=roger.pau@citrix.com \
--cc=sstabellini@kernel.org \
--cc=xen-devel@lists.xenproject.org \
--cc=xenia.ragiadakou@amd.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.