[XEN PATCH 00/10] address some violations of MISRA C Rule 20.7

Nicola Vetrini posted 10 patches 2 months ago
Patches applied successfully (tree, apply log)
git fetch https://gitlab.com/xen-project/patchew/xen tags/patchew/cover.1709219010.git.nicola.vetrini@bugseng.com
There is a newer version of this series
xen/arch/arm/arm64/cpufeature.c          | 14 +++---
xen/arch/arm/cpuerrata.c                 |  4 +-
xen/arch/arm/include/asm/arm64/sysregs.h |  2 +-
xen/arch/arm/include/asm/guest_atomics.h |  4 +-
xen/arch/arm/include/asm/mm.h            |  2 +-
xen/arch/arm/include/asm/smccc.h         |  8 ++--
xen/arch/arm/include/asm/vgic-emul.h     |  8 ++--
xen/arch/arm/vcpreg.c                    |  5 +-
xen/arch/x86/include/asm/irq.h           |  6 +--
xen/arch/x86/usercopy.c                  |  2 +-
xen/common/keyhandler.c                  |  4 +-
xen/common/perfc.c                       |  8 ++--
xen/drivers/passthrough/arm/smmu-v3.c    |  2 +-
xen/drivers/passthrough/arm/smmu.c       |  4 +-
xen/include/public/xen.h                 |  2 +-
xen/include/xen/bug.h                    |  2 +-
xen/include/xen/errno.h                  |  2 +-
xen/include/xen/init.h                   |  4 +-
xen/include/xen/kconfig.h                |  2 +-
xen/include/xen/list.h                   | 59 ++++++++++++------------
xen/include/xen/param.h                  | 22 ++++-----
xen/include/xen/spinlock.h               |  2 +-
xen/include/xen/tasklet.h                |  2 +-
23 files changed, 85 insertions(+), 85 deletions(-)
[XEN PATCH 00/10] address some violations of MISRA C Rule 20.7
Posted by Nicola Vetrini 2 months ago
Hi all,

this series aims to refactor some macros that cause violations of MISRA C Rule
20.7 ("Expressions resulting from the expansion of macro parameters shall be
enclosed in parentheses"). All the macros touched by these patches are in some
way involved in violations, and the strategy adopted to bring them into
compliance is to add parentheses around macro arguments where needed.

Given that the community has previously requested a deviation from the rule, as
stated in docs/misra/deviations.rst, and reported below for convenience [1],
some macro parameters do not need any adjusting (e.g., when used as lhs to
an assignment in statement expressions).

This series fixes a significant portion of the violations on Arm
(from ~14000 to ~2500). On x86, though there is one patch touching it, there are
still many more; they will be part of a later series.

[1] - Code violating Rule 20.7 is safe when macro parameters are used:
       (1) as function arguments;
       (2) as macro arguments;
       (3) as array indices;
       (4) as lhs in assignments.

Nicola Vetrini (10):
  xen/include: address violations of MISRA C Rule 20.7
  xen/arm: address some violations of MISRA C Rule 20.7
  x86: address some violations of MISRA C Rule 20.7
  xen/public: address violations of MISRA C Rule 20.7
  xen/perfc: address violations of MISRA C Rule 20.7
  arm/smmu: address some violations of MISRA C Rule 20.7
  xen/arm: smmuv3: address violations of MISRA C Rule 20.7
  xen/errno: address violations of MISRA C Rule 20.7
  xen/include: tasklet: address violations of MISRA C Rule 20.7
  xen/keyhandler: address violations of MISRA C Rule 20.7

 xen/arch/arm/arm64/cpufeature.c          | 14 +++---
 xen/arch/arm/cpuerrata.c                 |  4 +-
 xen/arch/arm/include/asm/arm64/sysregs.h |  2 +-
 xen/arch/arm/include/asm/guest_atomics.h |  4 +-
 xen/arch/arm/include/asm/mm.h            |  2 +-
 xen/arch/arm/include/asm/smccc.h         |  8 ++--
 xen/arch/arm/include/asm/vgic-emul.h     |  8 ++--
 xen/arch/arm/vcpreg.c                    |  5 +-
 xen/arch/x86/include/asm/irq.h           |  6 +--
 xen/arch/x86/usercopy.c                  |  2 +-
 xen/common/keyhandler.c                  |  4 +-
 xen/common/perfc.c                       |  8 ++--
 xen/drivers/passthrough/arm/smmu-v3.c    |  2 +-
 xen/drivers/passthrough/arm/smmu.c       |  4 +-
 xen/include/public/xen.h                 |  2 +-
 xen/include/xen/bug.h                    |  2 +-
 xen/include/xen/errno.h                  |  2 +-
 xen/include/xen/init.h                   |  4 +-
 xen/include/xen/kconfig.h                |  2 +-
 xen/include/xen/list.h                   | 59 ++++++++++++------------
 xen/include/xen/param.h                  | 22 ++++-----
 xen/include/xen/spinlock.h               |  2 +-
 xen/include/xen/tasklet.h                |  2 +-
 23 files changed, 85 insertions(+), 85 deletions(-)

-- 
2.34.1