Message ID | a8fe5f64e46e8980e1740583d59b95f88270f426.1717236930.git.nicola.vetrini@bugseng.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | address violations of MISRA C rules | expand |
On 01.06.2024 12:16, Nicola Vetrini wrote: > MISRA C Rule 20.12 states: "A macro parameter used as an operand to > the # or ## operators, which is itself subject to further macro replacement, > shall only be used as an operand to these operators". > > In this case, builds where CONFIG_COMPAT=y the fpu_ctxt > macro is used both as a regular macro argument and as an operand for > stringification in the expansion of CHECK_FIELD_. > This is deviated using a SAF-x-safe comment. > > No functional change. > > Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com> Acked-by: Jan Beulich <jbeulich@suse.com> At least for the time being; plans that Andrew vaguely described my render this unnecessary down the road. Jan > --- a/xen/arch/x86/domain.c > +++ b/xen/arch/x86/domain.c > @@ -1084,6 +1084,7 @@ void arch_domain_creation_finished(struct domain *d) > #ifdef CONFIG_COMPAT > #define xen_vcpu_guest_context vcpu_guest_context > #define fpu_ctxt fpu_ctxt.x > +/* SAF-6-safe Rule 20.12 expansion of macro fpu_ctxt with CONFIG_COMPAT */ > CHECK_FIELD_(struct, vcpu_guest_context, fpu_ctxt); > #undef fpu_ctxt > #undef xen_vcpu_guest_context > diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c > index 9a72d57333e9..335aedf46d03 100644 > --- a/xen/arch/x86/domctl.c > +++ b/xen/arch/x86/domctl.c > @@ -1326,6 +1326,7 @@ long arch_do_domctl( > #ifdef CONFIG_COMPAT > #define xen_vcpu_guest_context vcpu_guest_context > #define fpu_ctxt fpu_ctxt.x > +/* SAF-6-safe Rule 20.12 expansion of macro fpu_ctxt with CONFIG_COMPAT */ > CHECK_FIELD_(struct, vcpu_guest_context, fpu_ctxt); > #undef fpu_ctxt > #undef xen_vcpu_guest_context
diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c index 536542841ef5..ccadfe0c9e70 100644 --- a/xen/arch/x86/domain.c +++ b/xen/arch/x86/domain.c @@ -1084,6 +1084,7 @@ void arch_domain_creation_finished(struct domain *d) #ifdef CONFIG_COMPAT #define xen_vcpu_guest_context vcpu_guest_context #define fpu_ctxt fpu_ctxt.x +/* SAF-6-safe Rule 20.12 expansion of macro fpu_ctxt with CONFIG_COMPAT */ CHECK_FIELD_(struct, vcpu_guest_context, fpu_ctxt); #undef fpu_ctxt #undef xen_vcpu_guest_context diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c index 9a72d57333e9..335aedf46d03 100644 --- a/xen/arch/x86/domctl.c +++ b/xen/arch/x86/domctl.c @@ -1326,6 +1326,7 @@ long arch_do_domctl( #ifdef CONFIG_COMPAT #define xen_vcpu_guest_context vcpu_guest_context #define fpu_ctxt fpu_ctxt.x +/* SAF-6-safe Rule 20.12 expansion of macro fpu_ctxt with CONFIG_COMPAT */ CHECK_FIELD_(struct, vcpu_guest_context, fpu_ctxt); #undef fpu_ctxt #undef xen_vcpu_guest_context
MISRA C Rule 20.12 states: "A macro parameter used as an operand to the # or ## operators, which is itself subject to further macro replacement, shall only be used as an operand to these operators". In this case, builds where CONFIG_COMPAT=y the fpu_ctxt macro is used both as a regular macro argument and as an operand for stringification in the expansion of CHECK_FIELD_. This is deviated using a SAF-x-safe comment. No functional change. Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com> --- xen/arch/x86/domain.c | 1 + xen/arch/x86/domctl.c | 1 + 2 files changed, 2 insertions(+)