Message ID | d2f0b1184ac9d2a79cc4651e6e4469bc38a6c24a.1693228255.git.simone.ballarin@bugseng.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | address violations of MISRA C:2012 Directive 4.10 | expand |
On Mon, 28 Aug 2023, Simone Ballarin wrote: > Add or move inclusion guards to address violations of > MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order > to prevent the contents of a header file being included more than > once"). > > Inclusion guards must appear at the beginning of the headers > (comments are permitted anywhere). > > Also C files, if included somewhere, need to comply with the guideline. > > Mechanical change. > > Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com> > --- > xen/arch/x86/Makefile | 8 ++++---- > xen/arch/x86/cpu/cpu.h | 5 +++++ > xen/arch/x86/physdev.c | 4 ++++ > xen/arch/x86/platform_hypercall.c | 5 +++++ > xen/arch/x86/x86_64/compat/mm.c | 5 +++++ > xen/arch/x86/x86_64/mmconfig.h | 5 +++++ > xen/arch/x86/x86_emulate/private.h | 5 +++++ > xen/arch/x86/x86_emulate/x86_emulate.c | 5 +++++ > 8 files changed, 38 insertions(+), 4 deletions(-) > > diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile > index e642ad6c55..f956b7f0cd 100644 > --- a/xen/arch/x86/Makefile > +++ b/xen/arch/x86/Makefile > @@ -259,17 +259,17 @@ $(objtree)/arch/x86/include/asm/asm-macros.h: $(obj)/asm-macros.i $(src)/Makefil > $(call filechk,asm-macros.h) > > define filechk_asm-macros.h > + echo '#ifndef __ASM_MACROS_H__'; \ > + echo '#define __ASM_MACROS_H__'; \ > echo '#if 0'; \ > echo '.if 0'; \ > echo '#endif'; \ > - echo '#ifndef __ASM_MACROS_H__'; \ > - echo '#define __ASM_MACROS_H__'; \ > echo 'asm ( ".include \"$@\"" );'; \ > - echo '#endif /* __ASM_MACROS_H__ */'; \ > echo '#if 0'; \ > echo '.endif'; \ > cat $<; \ > - echo '#endif' > + echo '#endif'; \ > + echo '#endif /* __ASM_MACROS_H__ */' > endef This looks OK but it needs to be reviewed by an x86 maintainer > $(obj)/efi.lds: AFLAGS-y += -DEFI > diff --git a/xen/arch/x86/cpu/cpu.h b/xen/arch/x86/cpu/cpu.h > index e3d06278b3..95939c7fb6 100644 > --- a/xen/arch/x86/cpu/cpu.h > +++ b/xen/arch/x86/cpu/cpu.h > @@ -1,3 +1,6 @@ > +#ifndef __X86_CPU_CPU_H__ > +#define __X86_CPU_CPU_H__ > + > /* attempt to consolidate cpu attributes */ > struct cpu_dev { > void (*c_early_init)(struct cpuinfo_x86 *c); > @@ -24,3 +27,5 @@ void amd_init_lfence(struct cpuinfo_x86 *c); > void amd_init_ssbd(const struct cpuinfo_x86 *c); > void amd_init_spectral_chicken(void); > void detect_zen2_null_seg_behaviour(void); > + > +#endif /* __X86_CPU_CPU_H__ */ > diff --git a/xen/arch/x86/physdev.c b/xen/arch/x86/physdev.c > index 2f1d955a96..08b391d8f3 100644 > --- a/xen/arch/x86/physdev.c > +++ b/xen/arch/x86/physdev.c > @@ -1,3 +1,5 @@ > +#ifndef __X86_PHYSDEV_C__ > +#define __X86_PHYSDEV_C__ NIT: double " " everything else looks OK > #include <xen/init.h> > #include <xen/lib.h> > @@ -623,6 +625,8 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg) > return ret; > } > > +#endif /* __X86_PHYSDEV_C__ */ > + > /* > * Local variables: > * mode: C > diff --git a/xen/arch/x86/platform_hypercall.c b/xen/arch/x86/platform_hypercall.c > index 9ff2da8fc3..11aa084887 100644 > --- a/xen/arch/x86/platform_hypercall.c > +++ b/xen/arch/x86/platform_hypercall.c > @@ -6,6 +6,9 @@ > * Copyright (c) 2002-2006, K Fraser > */ > > +#ifndef __X86_PLATFORM_HYPERCALL_C__ > +#define __X86_PLATFORM_HYPERCALL_C__ > + > #include <xen/types.h> > #include <xen/lib.h> > #include <xen/mm.h> > @@ -899,6 +902,8 @@ ret_t do_platform_op( > return ret; > } > > +#endif /* __X86_PLATFORM_HYPERCALL_C__ */ > + > /* > * Local variables: > * mode: C > diff --git a/xen/arch/x86/x86_64/compat/mm.c b/xen/arch/x86/x86_64/compat/mm.c > index d54efaad21..24f7eb8788 100644 > --- a/xen/arch/x86/x86_64/compat/mm.c > +++ b/xen/arch/x86/x86_64/compat/mm.c > @@ -1,3 +1,6 @@ > +#ifndef __X86_X86_64_COMPAT_MM_C__ > +#define __X86_X86_64_COMPAT_MM_C__ > + > #include <xen/event.h> > #include <xen/hypercall.h> > #include <xen/mem_access.h> > @@ -326,6 +329,8 @@ int compat_mmuext_op( > } > #endif /* CONFIG_PV */ > > +#endif /* __X86_X86_64_COMPAT_MM_C__ */ > + > /* > * Local variables: > * mode: C > diff --git a/xen/arch/x86/x86_64/mmconfig.h b/xen/arch/x86/x86_64/mmconfig.h > index 2d49fc79a0..c562879c76 100644 > --- a/xen/arch/x86/x86_64/mmconfig.h > +++ b/xen/arch/x86/x86_64/mmconfig.h > @@ -5,6 +5,9 @@ > * Author: Allen Kay <allen.m.kay@intel.com> - adapted from linux > */ > > +#ifndef __X86_X86_64_MMCONFIG_H__ > +#define __X86_X86_64_MMCONFIG_H__ > + > #define PCI_DEVICE_ID_INTEL_E7520_MCH 0x3590 > #define PCI_DEVICE_ID_INTEL_82945G_HB 0x2770 > > @@ -72,3 +75,5 @@ int pci_mmcfg_reserved(uint64_t address, unsigned int segment, > int pci_mmcfg_arch_init(void); > int pci_mmcfg_arch_enable(unsigned int); > void pci_mmcfg_arch_disable(unsigned int); > + > +#endif /* __X86_X86_64_MMCONFIG_H__ */ > diff --git a/xen/arch/x86/x86_emulate/private.h b/xen/arch/x86/x86_emulate/private.h > index 719dad59cd..ffa134f297 100644 > --- a/xen/arch/x86/x86_emulate/private.h > +++ b/xen/arch/x86/x86_emulate/private.h > @@ -6,6 +6,9 @@ > * Copyright (c) 2005-2007 XenSource Inc. > */ > > +#ifndef __X86_X86_EMULATE_PRIVATE_H__ > +#define __X86_X86_EMULATE_PRIVATE_H__ > + > #ifdef __XEN__ > > # include <xen/kernel.h> > @@ -831,3 +834,5 @@ static inline int read_ulong(enum x86_segment seg, > *val = 0; > return ops->read(seg, offset, val, bytes, ctxt); > } > + > +#endif /* __X86_X86_EMULATE_PRIVATE_H__ */ > diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c b/xen/arch/x86/x86_emulate/x86_emulate.c > index e88245eae9..8977a1b82e 100644 > --- a/xen/arch/x86/x86_emulate/x86_emulate.c > +++ b/xen/arch/x86/x86_emulate/x86_emulate.c > @@ -8,6 +8,9 @@ > * Copyright (c) 2005-2007 XenSource Inc. > */ > > +#ifndef __X86_X86_EMULATE_EMULATE_C__ > +#define __X86_X86_EMULATE_EMULATE_C__ > + > #include "private.h" > > /* > @@ -8678,3 +8681,5 @@ int x86_emulate_wrapper( > return rc; > } > #endif > + > +#endif /* __X86_X86_EMULATE_EMULATE_C__ */ > -- > 2.34.1 >
On 28.08.2023 15:20, Simone Ballarin wrote: > Add or move inclusion guards to address violations of > MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order > to prevent the contents of a header file being included more than > once"). > > Inclusion guards must appear at the beginning of the headers > (comments are permitted anywhere). > > Also C files, if included somewhere, need to comply with the guideline. > > Mechanical change. > > Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com> > --- > xen/arch/x86/Makefile | 8 ++++---- > xen/arch/x86/cpu/cpu.h | 5 +++++ > xen/arch/x86/physdev.c | 4 ++++ > xen/arch/x86/platform_hypercall.c | 5 +++++ > xen/arch/x86/x86_64/compat/mm.c | 5 +++++ > xen/arch/x86/x86_64/mmconfig.h | 5 +++++ > xen/arch/x86/x86_emulate/private.h | 5 +++++ > xen/arch/x86/x86_emulate/x86_emulate.c | 5 +++++ > 8 files changed, 38 insertions(+), 4 deletions(-) Considering that the description talks of header files alone, there's a lot of non-header-file churn here. > --- a/xen/arch/x86/Makefile > +++ b/xen/arch/x86/Makefile > @@ -259,17 +259,17 @@ $(objtree)/arch/x86/include/asm/asm-macros.h: $(obj)/asm-macros.i $(src)/Makefil > $(call filechk,asm-macros.h) > > define filechk_asm-macros.h > + echo '#ifndef __ASM_MACROS_H__'; \ > + echo '#define __ASM_MACROS_H__'; \ > echo '#if 0'; \ > echo '.if 0'; \ > echo '#endif'; \ > - echo '#ifndef __ASM_MACROS_H__'; \ > - echo '#define __ASM_MACROS_H__'; \ > echo 'asm ( ".include \"$@\"" );'; \ > - echo '#endif /* __ASM_MACROS_H__ */'; \ > echo '#if 0'; \ > echo '.endif'; \ > cat $<; \ > - echo '#endif' > + echo '#endif'; \ > + echo '#endif /* __ASM_MACROS_H__ */' > endef Can you please explain why this needs adjustment? While I think things are going to be okay with the adjustment, this dual C and assembler construct would imo better be left alone. Plus as per context found in patch 2, aren't generated headers excluded anyway? Jan
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile index e642ad6c55..f956b7f0cd 100644 --- a/xen/arch/x86/Makefile +++ b/xen/arch/x86/Makefile @@ -259,17 +259,17 @@ $(objtree)/arch/x86/include/asm/asm-macros.h: $(obj)/asm-macros.i $(src)/Makefil $(call filechk,asm-macros.h) define filechk_asm-macros.h + echo '#ifndef __ASM_MACROS_H__'; \ + echo '#define __ASM_MACROS_H__'; \ echo '#if 0'; \ echo '.if 0'; \ echo '#endif'; \ - echo '#ifndef __ASM_MACROS_H__'; \ - echo '#define __ASM_MACROS_H__'; \ echo 'asm ( ".include \"$@\"" );'; \ - echo '#endif /* __ASM_MACROS_H__ */'; \ echo '#if 0'; \ echo '.endif'; \ cat $<; \ - echo '#endif' + echo '#endif'; \ + echo '#endif /* __ASM_MACROS_H__ */' endef $(obj)/efi.lds: AFLAGS-y += -DEFI diff --git a/xen/arch/x86/cpu/cpu.h b/xen/arch/x86/cpu/cpu.h index e3d06278b3..95939c7fb6 100644 --- a/xen/arch/x86/cpu/cpu.h +++ b/xen/arch/x86/cpu/cpu.h @@ -1,3 +1,6 @@ +#ifndef __X86_CPU_CPU_H__ +#define __X86_CPU_CPU_H__ + /* attempt to consolidate cpu attributes */ struct cpu_dev { void (*c_early_init)(struct cpuinfo_x86 *c); @@ -24,3 +27,5 @@ void amd_init_lfence(struct cpuinfo_x86 *c); void amd_init_ssbd(const struct cpuinfo_x86 *c); void amd_init_spectral_chicken(void); void detect_zen2_null_seg_behaviour(void); + +#endif /* __X86_CPU_CPU_H__ */ diff --git a/xen/arch/x86/physdev.c b/xen/arch/x86/physdev.c index 2f1d955a96..08b391d8f3 100644 --- a/xen/arch/x86/physdev.c +++ b/xen/arch/x86/physdev.c @@ -1,3 +1,5 @@ +#ifndef __X86_PHYSDEV_C__ +#define __X86_PHYSDEV_C__ #include <xen/init.h> #include <xen/lib.h> @@ -623,6 +625,8 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg) return ret; } +#endif /* __X86_PHYSDEV_C__ */ + /* * Local variables: * mode: C diff --git a/xen/arch/x86/platform_hypercall.c b/xen/arch/x86/platform_hypercall.c index 9ff2da8fc3..11aa084887 100644 --- a/xen/arch/x86/platform_hypercall.c +++ b/xen/arch/x86/platform_hypercall.c @@ -6,6 +6,9 @@ * Copyright (c) 2002-2006, K Fraser */ +#ifndef __X86_PLATFORM_HYPERCALL_C__ +#define __X86_PLATFORM_HYPERCALL_C__ + #include <xen/types.h> #include <xen/lib.h> #include <xen/mm.h> @@ -899,6 +902,8 @@ ret_t do_platform_op( return ret; } +#endif /* __X86_PLATFORM_HYPERCALL_C__ */ + /* * Local variables: * mode: C diff --git a/xen/arch/x86/x86_64/compat/mm.c b/xen/arch/x86/x86_64/compat/mm.c index d54efaad21..24f7eb8788 100644 --- a/xen/arch/x86/x86_64/compat/mm.c +++ b/xen/arch/x86/x86_64/compat/mm.c @@ -1,3 +1,6 @@ +#ifndef __X86_X86_64_COMPAT_MM_C__ +#define __X86_X86_64_COMPAT_MM_C__ + #include <xen/event.h> #include <xen/hypercall.h> #include <xen/mem_access.h> @@ -326,6 +329,8 @@ int compat_mmuext_op( } #endif /* CONFIG_PV */ +#endif /* __X86_X86_64_COMPAT_MM_C__ */ + /* * Local variables: * mode: C diff --git a/xen/arch/x86/x86_64/mmconfig.h b/xen/arch/x86/x86_64/mmconfig.h index 2d49fc79a0..c562879c76 100644 --- a/xen/arch/x86/x86_64/mmconfig.h +++ b/xen/arch/x86/x86_64/mmconfig.h @@ -5,6 +5,9 @@ * Author: Allen Kay <allen.m.kay@intel.com> - adapted from linux */ +#ifndef __X86_X86_64_MMCONFIG_H__ +#define __X86_X86_64_MMCONFIG_H__ + #define PCI_DEVICE_ID_INTEL_E7520_MCH 0x3590 #define PCI_DEVICE_ID_INTEL_82945G_HB 0x2770 @@ -72,3 +75,5 @@ int pci_mmcfg_reserved(uint64_t address, unsigned int segment, int pci_mmcfg_arch_init(void); int pci_mmcfg_arch_enable(unsigned int); void pci_mmcfg_arch_disable(unsigned int); + +#endif /* __X86_X86_64_MMCONFIG_H__ */ diff --git a/xen/arch/x86/x86_emulate/private.h b/xen/arch/x86/x86_emulate/private.h index 719dad59cd..ffa134f297 100644 --- a/xen/arch/x86/x86_emulate/private.h +++ b/xen/arch/x86/x86_emulate/private.h @@ -6,6 +6,9 @@ * Copyright (c) 2005-2007 XenSource Inc. */ +#ifndef __X86_X86_EMULATE_PRIVATE_H__ +#define __X86_X86_EMULATE_PRIVATE_H__ + #ifdef __XEN__ # include <xen/kernel.h> @@ -831,3 +834,5 @@ static inline int read_ulong(enum x86_segment seg, *val = 0; return ops->read(seg, offset, val, bytes, ctxt); } + +#endif /* __X86_X86_EMULATE_PRIVATE_H__ */ diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c b/xen/arch/x86/x86_emulate/x86_emulate.c index e88245eae9..8977a1b82e 100644 --- a/xen/arch/x86/x86_emulate/x86_emulate.c +++ b/xen/arch/x86/x86_emulate/x86_emulate.c @@ -8,6 +8,9 @@ * Copyright (c) 2005-2007 XenSource Inc. */ +#ifndef __X86_X86_EMULATE_EMULATE_C__ +#define __X86_X86_EMULATE_EMULATE_C__ + #include "private.h" /* @@ -8678,3 +8681,5 @@ int x86_emulate_wrapper( return rc; } #endif + +#endif /* __X86_X86_EMULATE_EMULATE_C__ */
Add or move inclusion guards to address violations of MISRA C:2012 Directive 4.10 ("Precautions shall be taken in order to prevent the contents of a header file being included more than once"). Inclusion guards must appear at the beginning of the headers (comments are permitted anywhere). Also C files, if included somewhere, need to comply with the guideline. Mechanical change. Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com> --- xen/arch/x86/Makefile | 8 ++++---- xen/arch/x86/cpu/cpu.h | 5 +++++ xen/arch/x86/physdev.c | 4 ++++ xen/arch/x86/platform_hypercall.c | 5 +++++ xen/arch/x86/x86_64/compat/mm.c | 5 +++++ xen/arch/x86/x86_64/mmconfig.h | 5 +++++ xen/arch/x86/x86_emulate/private.h | 5 +++++ xen/arch/x86/x86_emulate/x86_emulate.c | 5 +++++ 8 files changed, 38 insertions(+), 4 deletions(-)