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

Re: [XEN PATCH 12/13] xen: address violations of MISRA C:2012 Directive 4.10



On Mon, 28 Aug 2023, Simone Ballarin wrote:
> Move or amended 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) and the #if directive cannot
> be used for other checks.
> 
> Mechanical change.
> 
> Signed-off-by: Simone Ballarin <simone.ballarin@xxxxxxxxxxx>
> ---
>  xen/include/xen/err.h       | 4 +++-
>  xen/include/xen/pci_ids.h   | 5 +++++
>  xen/include/xen/softirq.h   | 4 +++-
>  xen/include/xen/unaligned.h | 7 ++++---
>  xen/include/xen/vmap.h      | 4 +++-
>  5 files changed, 18 insertions(+), 6 deletions(-)
> 
> diff --git a/xen/include/xen/err.h b/xen/include/xen/err.h
> index 2f29b57d28..a6323d82d7 100644
> --- a/xen/include/xen/err.h
> +++ b/xen/include/xen/err.h
> @@ -1,5 +1,6 @@
> -#if !defined(__XEN_ERR_H__) && !defined(__ASSEMBLY__)
> +#if !defined(__XEN_ERR_H__)
>  #define __XEN_ERR_H__
> +#if !defined(__ASSEMBLY__)

The original pattern was also guarding the header file sufficiently,
protecting it from double-inclusion. In fact, it is posing stricter
restrictions than usual (not laxer). This change is unnecessary?


>  #include <xen/compiler.h>
>  #include <xen/errno.h>
> @@ -54,4 +55,5 @@ static inline int __must_check PTR_RET(const void *ptr)
>       return IS_ERR(ptr) ? PTR_ERR(ptr) : 0;
>  }
>  
> +#endif /* __ASSEMBLY__ */
>  #endif /* __XEN_ERR_H__ */
> diff --git a/xen/include/xen/pci_ids.h b/xen/include/xen/pci_ids.h
> index e798477a7e..1a739d4c92 100644
> --- a/xen/include/xen/pci_ids.h
> +++ b/xen/include/xen/pci_ids.h
> @@ -1,3 +1,6 @@
> +#ifndef __XEN_PCI_IDS_H__
> +#define __XEN_PCI_IDS_H__
> +
>  #define PCI_VENDOR_ID_AMD                0x1022
>  
>  #define PCI_VENDOR_ID_NVIDIA             0x10de
> @@ -11,3 +14,5 @@
>  #define PCI_VENDOR_ID_BROADCOM           0x14e4
>  
>  #define PCI_VENDOR_ID_INTEL              0x8086
> +
> +#endif /* __XEN_PCI_IDS_H__ */
> diff --git a/xen/include/xen/softirq.h b/xen/include/xen/softirq.h
> index 33d6f2ecd2..092ec733b7 100644
> --- a/xen/include/xen/softirq.h
> +++ b/xen/include/xen/softirq.h
> @@ -1,5 +1,6 @@
> -#if !defined(__XEN_SOFTIRQ_H__) && !defined(__ASSEMBLY__)
> +#if !defined(__XEN_SOFTIRQ_H__)
>  #define __XEN_SOFTIRQ_H__
> +#if !defined(__ASSEMBLY__)

same here


>  /* Low-latency softirqs come first in the following list. */
>  enum {
> @@ -40,4 +41,5 @@ void cpu_raise_softirq_batch_finish(void);
>   */
>  void process_pending_softirqs(void);
>  
> +#endif /* __ASSEMBLY__ */
>  #endif /* __XEN_SOFTIRQ_H__ */
> diff --git a/xen/include/xen/unaligned.h b/xen/include/xen/unaligned.h
> index 0a2b16d05d..45f03b3f1b 100644
> --- a/xen/include/xen/unaligned.h
> +++ b/xen/include/xen/unaligned.h
> @@ -3,13 +3,14 @@
>   * without faulting, and at least reasonably efficiently.  Other 
> architectures
>   * will need to have a custom asm/unaligned.h.
>   */
> -#ifndef __ASM_UNALIGNED_H__
> -#error "xen/unaligned.h should not be included directly - include 
> asm/unaligned.h instead"
> -#endif
>  
>  #ifndef __XEN_UNALIGNED_H__
>  #define __XEN_UNALIGNED_H__
>  
> +#ifndef __ASM_UNALIGNED_H__
> +#error "xen/unaligned.h should not be included directly - include 
> asm/unaligned.h instead"
> +#endif
> +
>  #ifdef __XEN__
>  #include <xen/types.h>
>  #include <asm/byteorder.h>
> diff --git a/xen/include/xen/vmap.h b/xen/include/xen/vmap.h
> index b0f7632e89..7a61dea54a 100644
> --- a/xen/include/xen/vmap.h
> +++ b/xen/include/xen/vmap.h
> @@ -1,5 +1,6 @@
> -#if !defined(__XEN_VMAP_H__) && defined(VMAP_VIRT_START)
> +#if !defined(__XEN_VMAP_H__)
>  #define __XEN_VMAP_H__
> +#if defined(VMAP_VIRT_START)

same here


>  #include <xen/mm-frame.h>
>  #include <xen/page-size.h>
> @@ -38,4 +39,5 @@ static inline void vm_init(void)
>      vm_init_type(VMAP_DEFAULT, (void *)VMAP_VIRT_START, 
> arch_vmap_virt_end());
>  }
>  
> +#endif /* VMAP_VIRT_START */
>  #endif /* __XEN_VMAP_H__ */
> -- 
> 2.34.1
> 



 


Rackspace

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