[XEN PATCH v3 00/15] xen: fix violations of MISRA C:2012 Rule 7.2

Simone Ballarin posted 15 patches 9 months, 2 weeks ago
Failed in applying to current master (apply log)
xen/arch/arm/domain_build.c                  |   4 +-
xen/arch/arm/efi/efi-boot.h                  |   2 +-
xen/arch/arm/gic-v2.c                        |   6 +-
xen/arch/arm/gic-v3.c                        |  10 +-
xen/arch/arm/include/asm/arm64/brk.h         |   2 +-
xen/arch/arm/include/asm/arm64/efibind.h     |  10 +-
xen/arch/arm/include/asm/arm64/insn.h        |  16 +-
xen/arch/arm/include/asm/vreg.h              |   2 +-
xen/arch/arm/kernel.c                        |   2 +-
xen/arch/arm/traps.c                         |  14 +-
xen/arch/arm/vgic-v2.c                       |   2 +-
xen/arch/arm/vgic-v3.c                       |   2 +-
xen/arch/x86/acpi/cpufreq/powernow.c         |  14 +-
xen/arch/x86/apic.c                          |   2 +-
xen/arch/x86/cpu-policy.c                    |  18 +-
xen/arch/x86/cpu/mcheck/mce-apei.c           |   4 +-
xen/arch/x86/cpu/vpmu_intel.c                |   2 +-
xen/arch/x86/cpuid.c                         |   8 +-
xen/arch/x86/efi/efi-boot.h                  |   6 +-
xen/arch/x86/extable.c                       |   2 +-
xen/arch/x86/hvm/hypercall.c                 |   2 +-
xen/arch/x86/hvm/irq.c                       |   2 +-
xen/arch/x86/hvm/pmtimer.c                   |   4 +-
xen/arch/x86/hvm/stdvga.c                    |  50 ++---
xen/arch/x86/hvm/svm/asid.c                  |   2 +-
xen/arch/x86/hvm/svm/svm.c                   |   8 +-
xen/arch/x86/hvm/viridian/viridian.c         |   2 +-
xen/arch/x86/hvm/vlapic.c                    |   6 +-
xen/arch/x86/hvm/vmx/vmcs.c                  |   6 +-
xen/arch/x86/hvm/vmx/vvmx.c                  |   8 +-
xen/arch/x86/include/asm/apicdef.h           |   2 +-
xen/arch/x86/include/asm/config.h            |   2 +-
xen/arch/x86/include/asm/guest/hyperv-tlfs.h |  28 +--
xen/arch/x86/include/asm/hpet.h              |   2 +-
xen/arch/x86/include/asm/hvm/trace.h         |   4 +-
xen/arch/x86/include/asm/hvm/vioapic.h       |   2 +-
xen/arch/x86/include/asm/hvm/vmx/vmcs.h      |  84 ++++----
xen/arch/x86/include/asm/hvm/vmx/vmx.h       |  16 +-
xen/arch/x86/include/asm/msi.h               |   2 +-
xen/arch/x86/include/asm/msr-index.h         | 202 +++++++++----------
xen/arch/x86/include/asm/pci.h               |   8 +-
xen/arch/x86/include/asm/x86-defns.h         |   2 +-
xen/arch/x86/monitor.c                       |   6 +-
xen/arch/x86/percpu.c                        |   2 +-
xen/arch/x86/psr.c                           |   2 +-
xen/arch/x86/spec_ctrl.c                     |   8 +-
xen/arch/x86/x86_64/acpi_mmcfg.c             |   2 +-
xen/arch/x86/x86_64/pci.c                    |   2 +-
xen/arch/x86/x86_emulate/x86_emulate.h       |   2 +-
xen/common/device_tree.c                     |   4 +-
xen/common/efi/boot.c                        |   8 +-
xen/common/efi/runtime.c                     |   2 +-
xen/common/gunzip.c                          |   2 +-
xen/common/xmalloc_tlsf.c                    |   2 +-
xen/drivers/char/ehci-dbgp.c                 |   4 +-
xen/drivers/passthrough/amd/iommu-defs.h     | 122 +++++------
xen/drivers/passthrough/pci.c                |   4 +-
xen/drivers/video/vesa.c                     |   2 +-
xen/drivers/vpci/msi.c                       |   2 +-
xen/drivers/vpci/msix.c                      |   2 +-
xen/drivers/vpci/vpci.c                      |   6 +-
xen/include/acpi/cpufreq/processor_perf.h    |   2 +-
xen/include/public/arch-arm/smccc.h          |   4 +-
xen/include/public/io/ring.h                 |  10 +-
xen/include/public/memory.h                  |   2 +-
xen/include/public/sysctl.h                  |   4 +-
xen/include/xen/bitops.h                     |  10 +-
xen/include/xen/cper.h                       |  18 +-
xen/lib/muldiv64.c                           |   2 +-
xen/lib/x86/cpuid.c                          |   8 +-
xen/lib/x86/policy.c                         |   2 +-
71 files changed, 409 insertions(+), 409 deletions(-)
[XEN PATCH v3 00/15] xen: fix violations of MISRA C:2012 Rule 7.2
Posted by Simone Ballarin 9 months, 2 weeks ago
From: Gianluca Luparini <gianluca.luparini@bugseng.com>

The xen sources contains violations of MISRA C:2012 Rule 7.2 whose headline
states:
"A 'u' or 'U' suffix shall be applied to all integer constants that are
represented in an unsigned type".

These violations are caused by the missing "u" or "U" suffix in unsigned
integer constants, such as:

xen/arch/x86/hvm/hypercall.c:132.17-132.26
if ( (eax & 0x80000000) && is_viridian_domain(currd) )

If a rule is not met, fixes are needed in order to achieve compliance.
The patches in this series achieve compliance for MISRA C:2012 Rule 7.2 by
adding the 'U' suffix to integers literals with unsigned type and also to other
literals used in the same contexts or near violations, when their positive
nature is immediately clear. The latter changes are done for the sake of
uniformity.

Changes to macros 'X86_CR0_PG' and 'MSR_EFER' in files
"xen/arch/x86/include/asm/x86-defns.h" and "xen/arch/x86/include/asm/msr-index.h"
are not made since they are used also in assembly files.

---
Changes in v3:
- fixes following review comments
- change some commit messages
- change 'Signed-off-by' ordering
- create two new commits

Changes in v2:
- fixes following review comments
- change title and commit messages
- remove changes in out of scope files
- remove changes in some macros

Gianluca Luparini (15):
  x86/cpufreq: fix violations of MISRA C:2012 Rule 7.2
  AMD/IOMMU: fix violations of MISRA C:2012 Rule 7.2
  x86/svm: fix violations of MISRA C:2012 Rule 7.2
  xen/arm: fix violations of MISRA C:2012 Rule 7.2
  xen/device-tree: fix violations of MISRA C:2012 Rule 7.2
  xen/efi: fix violations of MISRA C:2012 Rule 7.2
  x86/vmx: fix violations of MISRA C:2012 Rule 7.2
  xen/pci: fix violations of MISRA C:2012 Rule 7.2
  xen/public: fix violations of MISRA C:2012 Rule 7.2
  x86/monitor: fix violations of MISRA C:2012 Rule 7.2
  xen/vpci: fix violations of MISRA C:2012 Rule 7.2
  xen/x86: fix violations of MISRA C:2012 Rule 7.2
  x86/viridian: fix violations of MISRA C:2012 Rule 7.2
  ACPI/APEI: fix violations of MISRA C:2012 Rule 7.2
  xen: fix violations of MISRA C:2012 Rule 7.2

 xen/arch/arm/domain_build.c                  |   4 +-
 xen/arch/arm/efi/efi-boot.h                  |   2 +-
 xen/arch/arm/gic-v2.c                        |   6 +-
 xen/arch/arm/gic-v3.c                        |  10 +-
 xen/arch/arm/include/asm/arm64/brk.h         |   2 +-
 xen/arch/arm/include/asm/arm64/efibind.h     |  10 +-
 xen/arch/arm/include/asm/arm64/insn.h        |  16 +-
 xen/arch/arm/include/asm/vreg.h              |   2 +-
 xen/arch/arm/kernel.c                        |   2 +-
 xen/arch/arm/traps.c                         |  14 +-
 xen/arch/arm/vgic-v2.c                       |   2 +-
 xen/arch/arm/vgic-v3.c                       |   2 +-
 xen/arch/x86/acpi/cpufreq/powernow.c         |  14 +-
 xen/arch/x86/apic.c                          |   2 +-
 xen/arch/x86/cpu-policy.c                    |  18 +-
 xen/arch/x86/cpu/mcheck/mce-apei.c           |   4 +-
 xen/arch/x86/cpu/vpmu_intel.c                |   2 +-
 xen/arch/x86/cpuid.c                         |   8 +-
 xen/arch/x86/efi/efi-boot.h                  |   6 +-
 xen/arch/x86/extable.c                       |   2 +-
 xen/arch/x86/hvm/hypercall.c                 |   2 +-
 xen/arch/x86/hvm/irq.c                       |   2 +-
 xen/arch/x86/hvm/pmtimer.c                   |   4 +-
 xen/arch/x86/hvm/stdvga.c                    |  50 ++---
 xen/arch/x86/hvm/svm/asid.c                  |   2 +-
 xen/arch/x86/hvm/svm/svm.c                   |   8 +-
 xen/arch/x86/hvm/viridian/viridian.c         |   2 +-
 xen/arch/x86/hvm/vlapic.c                    |   6 +-
 xen/arch/x86/hvm/vmx/vmcs.c                  |   6 +-
 xen/arch/x86/hvm/vmx/vvmx.c                  |   8 +-
 xen/arch/x86/include/asm/apicdef.h           |   2 +-
 xen/arch/x86/include/asm/config.h            |   2 +-
 xen/arch/x86/include/asm/guest/hyperv-tlfs.h |  28 +--
 xen/arch/x86/include/asm/hpet.h              |   2 +-
 xen/arch/x86/include/asm/hvm/trace.h         |   4 +-
 xen/arch/x86/include/asm/hvm/vioapic.h       |   2 +-
 xen/arch/x86/include/asm/hvm/vmx/vmcs.h      |  84 ++++----
 xen/arch/x86/include/asm/hvm/vmx/vmx.h       |  16 +-
 xen/arch/x86/include/asm/msi.h               |   2 +-
 xen/arch/x86/include/asm/msr-index.h         | 202 +++++++++----------
 xen/arch/x86/include/asm/pci.h               |   8 +-
 xen/arch/x86/include/asm/x86-defns.h         |   2 +-
 xen/arch/x86/monitor.c                       |   6 +-
 xen/arch/x86/percpu.c                        |   2 +-
 xen/arch/x86/psr.c                           |   2 +-
 xen/arch/x86/spec_ctrl.c                     |   8 +-
 xen/arch/x86/x86_64/acpi_mmcfg.c             |   2 +-
 xen/arch/x86/x86_64/pci.c                    |   2 +-
 xen/arch/x86/x86_emulate/x86_emulate.h       |   2 +-
 xen/common/device_tree.c                     |   4 +-
 xen/common/efi/boot.c                        |   8 +-
 xen/common/efi/runtime.c                     |   2 +-
 xen/common/gunzip.c                          |   2 +-
 xen/common/xmalloc_tlsf.c                    |   2 +-
 xen/drivers/char/ehci-dbgp.c                 |   4 +-
 xen/drivers/passthrough/amd/iommu-defs.h     | 122 +++++------
 xen/drivers/passthrough/pci.c                |   4 +-
 xen/drivers/video/vesa.c                     |   2 +-
 xen/drivers/vpci/msi.c                       |   2 +-
 xen/drivers/vpci/msix.c                      |   2 +-
 xen/drivers/vpci/vpci.c                      |   6 +-
 xen/include/acpi/cpufreq/processor_perf.h    |   2 +-
 xen/include/public/arch-arm/smccc.h          |   4 +-
 xen/include/public/io/ring.h                 |  10 +-
 xen/include/public/memory.h                  |   2 +-
 xen/include/public/sysctl.h                  |   4 +-
 xen/include/xen/bitops.h                     |  10 +-
 xen/include/xen/cper.h                       |  18 +-
 xen/lib/muldiv64.c                           |   2 +-
 xen/lib/x86/cpuid.c                          |   8 +-
 xen/lib/x86/policy.c                         |   2 +-
 71 files changed, 409 insertions(+), 409 deletions(-)

-- 
2.41.0
Re: [XEN PATCH v3 00/15] xen: fix violations of MISRA C:2012 Rule 7.2
Posted by Jan Beulich 9 months, 2 weeks ago
On 12.07.2023 12:32, Simone Ballarin wrote:
> Changes to macros 'X86_CR0_PG' and 'MSR_EFER' in files
> "xen/arch/x86/include/asm/x86-defns.h" and "xen/arch/x86/include/asm/msr-index.h"
> are not made since they are used also in assembly files.

I guess I overlooked this in earlier versions. There's no need to skip
such headers. You just can't attach U unconditionally; you need to use
_AC() (from xen/const.h), as msr-index.h already does in certain places.

Jan
Re: [XEN PATCH v3 00/15] xen: fix violations of MISRA C:2012 Rule 7.2
Posted by Jan Beulich 9 months, 2 weeks ago
On 12.07.2023 12:32, Simone Ballarin wrote:
> Changes to macros 'X86_CR0_PG' and 'MSR_EFER' in files
> "xen/arch/x86/include/asm/x86-defns.h" and "xen/arch/x86/include/asm/msr-index.h"
> are not made since they are used also in assembly files.

Following on from yesterday's remark here: Both files are touched anyway,
as per ...

>  xen/arch/arm/domain_build.c                  |   4 +-
>  xen/arch/arm/efi/efi-boot.h                  |   2 +-
>  xen/arch/arm/gic-v2.c                        |   6 +-
>  xen/arch/arm/gic-v3.c                        |  10 +-
>  xen/arch/arm/include/asm/arm64/brk.h         |   2 +-
>  xen/arch/arm/include/asm/arm64/efibind.h     |  10 +-
>  xen/arch/arm/include/asm/arm64/insn.h        |  16 +-
>  xen/arch/arm/include/asm/vreg.h              |   2 +-
>  xen/arch/arm/kernel.c                        |   2 +-
>  xen/arch/arm/traps.c                         |  14 +-
>  xen/arch/arm/vgic-v2.c                       |   2 +-
>  xen/arch/arm/vgic-v3.c                       |   2 +-
>  xen/arch/x86/acpi/cpufreq/powernow.c         |  14 +-
>  xen/rch/x86/apic.c                          |   2 +-
>  xen/arch/x86/cpu-policy.c                    |  18 +-
>  xen/arch/x86/cpu/mcheck/mce-apei.c           |   4 +-
>  xen/arch/x86/cpu/vpmu_intel.c                |   2 +-
>  xen/arch/x86/cpuid.c                         |   8 +-
>  xen/arch/x86/efi/efi-boot.h                  |   6 +-
>  xen/arch/x86/extable.c                       |   2 +-
>  xen/arch/x86/hvm/hypercall.c                 |   2 +-
>  xen/arch/x86/hvm/irq.c                       |   2 +-
>  xen/arch/x86/hvm/pmtimer.c                   |   4 +-
>  xen/arch/x86/hvm/stdvga.c                    |  50 ++---
>  xen/arch/x86/hvm/svm/asid.c                  |   2 +-
>  xen/arch/x86/hvm/svm/svm.c                   |   8 +-
>  xen/arch/x86/hvm/viridian/viridian.c         |   2 +-
>  xen/arch/x86/hvm/vlapic.c                    |   6 +-
>  xen/arch/x86/hvm/vmx/vmcs.c                  |   6 +-
>  xen/arch/x86/hvm/vmx/vvmx.c                  |   8 +-
>  xen/arch/x86/include/asm/apicdef.h           |   2 +-
>  xen/arch/x86/include/asm/config.h            |   2 +-
>  xen/arch/x86/include/asm/guest/hyperv-tlfs.h |  28 +--
>  xen/arch/x86/include/asm/hpet.h              |   2 +-
>  xen/arch/x86/include/asm/hvm/trace.h         |   4 +-
>  xen/arch/x86/include/asm/hvm/vioapic.h       |   2 +-
>  xen/arch/x86/include/asm/hvm/vmx/vmcs.h      |  84 ++++----
>  xen/arch/x86/include/asm/hvm/vmx/vmx.h       |  16 +-
>  xen/arch/x86/include/asm/msi.h               |   2 +-
>  xen/arch/x86/include/asm/msr-index.h         | 202 +++++++++----------
>  xen/arch/x86/include/asm/pci.h               |   8 +-
>  xen/arch/x86/include/asm/x86-defns.h         |   2 +-

... the diffstat, so allowing other constants there to be used from
assembly code (if and when need be) would be a good idea as well. I
guess this may apply elsewhere as well, when constants live outside of
#ifndef __ASSEMBLY__ sections.

Jan