Casting away const-ness (or volatile-ness) is generally bad practices, so this is perhaps one of the more important rules to get into clean state. Despite being bad practice in general, there are cases where doing so is pretty much unavoidable; in some cases even the library spec mandates doing so (without Misra having any provisions for that). How to deal with most of those cases is still up for discussion, only very few of them are actually dealt with here.
As per [1] this addresses about half the remaining violations in all four analyze jobs we have in gitlab-CI (patch 06 wasn't included there, yet). 01: lib: obey to Misra rule 11.8 where possible 02: x86/bitops: don't cast away volatile-ness 03: x86: have cmpxchg16b() obey to Misra rule 11.8 04: x86/boot: don't cast away const-ness 05: x86/altcall: hide casting away of const 06: Arm/alternative: hide casting away of const 07: Arm64/GICv3: have gicv3_its_find_quirk() not cast away const-ness 08: Arm/guestcopy: deviate copy_guest() uses just like their x86 counterparts 09: ACPI: address a Misra rule 11.8 violation in Arm code 10: ELF/notes: use pointer-to-const by default in ELFNOTE_...() 11: crypto/vmac: don't cast away const-ness in aes_key_setup() 12: gnttab: don't cast away constness 13: passthrough/PCI: rework (s,b,d,f) init of struct pci_dev 14: xhci-dbc: don't cast away const-ness in xhci_find_dbc() Jan [1] https://gitlab.com/xen-project/hardware/xen-staging/-/pipelines/2810122986
