All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Beulich <jbeulich@suse.com>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"Nicola Vetrini" <nicola.vetrini@bugseng.com>,
	"Andrew Cooper" <andrew.cooper3@citrix.com>,
	"Julien Grall" <julien@xen.org>,
	"Stefano Stabellini" <sstabellini@kernel.org>,
	"Anthony PERARD" <anthony.perard@vates.tech>,
	"Michal Orzel" <michal.orzel@amd.com>,
	"Roger Pau Monné" <roger@xenproject.org>,
	"Bertrand Marquis" <bertrand.marquis@arm.com>
Subject: Re: [PATCH 09/14] ACPI: address a Misra rule 11.8 violation in Arm code
Date: Tue, 22 Sep 2026 13:16:22 +0200	[thread overview]
Message-ID: <c3585a8f-df34-425c-b504-7702f638cf37@suse.com> (raw)
In-Reply-To: <87y0ct5zan.fsf@epam.com>

On 22.09.2026 12:57, Volodymyr Babchuk wrote:
> Jan Beulich <jbeulich@suse.com> writes:
>> On 22.09.2026 03:38, Volodymyr Babchuk wrote:
>>> Jan Beulich <jbeulich@suse.com> writes:
>>>> Outside of drivers/acpi/tables/ (which is excluded from Eclair reporting
>>>> for dubious reasons), arch/arm/acpi/domain_build.c is the only user of
>>>> ACPI_COMPARE_NAME(). Make the macro const correct, at the expense of
>>>> introducing a "const" variant of ACPI_CAST_PTR(), and at the expense of
>>>
>>> I think you can avoid adding ACPI_CAST_PTR() by providing a const
>>> type. Like this:
>>>
>>> +#define ACPI_COMPARE_NAME(a, b)         (*ACPI_CAST_PTR (const u32, a) == \
>>> +                                         *ACPI_CAST_PTR (const u32, b))
>>
>> I don't think so. You did notice ...
>>
>>>> --- a/xen/include/acpi/acmacros.h
>>>> +++ b/xen/include/acpi/acmacros.h
>>>> @@ -103,6 +103,7 @@
>>>>   * Pointer manipulation
>>>>   */
>>>>  #define ACPI_CAST_PTR(t, p)             ((t *) (acpi_uintptr_t) (p))
>>>> +#define ACPI_CAST_CPTR(t, p)            ((const t *) (const acpi_uintptr_t) (p))
>>
>> ... this, I assume. On the surface it looks odd, because one would expect
>> acpi_uintptr_t to be a scalar type, like uintptr_t is. But it isn't:
>>
>> #ifndef acpi_uintptr_t
>> #define acpi_uintptr_t                  void *
>> #endif
> 
> Well, that was unexpected. Talk about principle of least surprise...
> 
>> The only alternative I see (somewhat more risky overall) would be to
>> introduce
>>
>> #define acpi_uintptr_t                  uintptr_t
> 
> What are the risks? I'd really prefer to have fewer gotchas in the code.

It hides casting away of const-ness. Right here we would like that, yet in
the general case I think we don't. Otoh Linux switched to the above in the
5.18 dev cycle.

Jan


  reply	other threads:[~2026-09-22 11:16 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-02  6:28 [PATCH 00/14] address half the remaining Misra rule 11.8 violations Jan Beulich
2026-09-02  6:30 ` [PATCH 01/14] lib: obey to Misra rule 11.8 where possible Jan Beulich
2026-09-22  1:24   ` Volodymyr Babchuk
2026-09-02  6:30 ` [PATCH 02/14] x86/bitops: don't cast away volatile-ness Jan Beulich
2026-09-02 11:29   ` Andrew Cooper
2026-09-02  6:31 ` [PATCH 03/14] x86: have cmpxchg16b() obey to Misra rule 11.8 Jan Beulich
2026-10-05 14:09   ` Andrew Cooper
2026-09-02  6:31 ` [PATCH 04/14] x86/boot: don't cast away const-ness Jan Beulich
2026-09-07  8:02   ` Roger Pau Monné
2026-09-02  6:32 ` [PATCH 05/14] x86/altcall: hide casting away of const Jan Beulich
2026-09-07  7:54   ` Roger Pau Monné
2026-09-02  6:32 ` [PATCH 06/14] Arm/alternative: " Jan Beulich
2026-09-02 11:47   ` Orzel, Michal
2026-09-02 12:35     ` Jan Beulich
2026-09-02  6:33 ` [PATCH 07/14] Arm64/GICv3: have gicv3_its_find_quirk() not cast away const-ness Jan Beulich
2026-09-02 11:22   ` Orzel, Michal
2026-09-02  6:33 ` [PATCH 08/14] Arm/guestcopy: deviate copy_guest() uses just like their x86 counterparts Jan Beulich
2026-09-07  6:37   ` Orzel, Michal
2026-09-21 11:46   ` Nicola Vetrini
2026-09-21 12:15     ` Jan Beulich
2026-09-02  6:34 ` [PATCH 09/14] ACPI: address a Misra rule 11.8 violation in Arm code Jan Beulich
2026-09-22  1:38   ` Volodymyr Babchuk
2026-09-22  6:47     ` Jan Beulich
2026-09-22 10:57       ` Volodymyr Babchuk
2026-09-22 11:16         ` Jan Beulich [this message]
2026-09-22 21:18           ` Volodymyr Babchuk
2026-10-06 15:53             ` Jan Beulich
2026-09-02  6:34 ` [PATCH 10/14] ELF/notes: use pointer-to-const by default in ELFNOTE_...() Jan Beulich
2026-09-22  1:45   ` Volodymyr Babchuk
2026-09-22  6:36     ` Jan Beulich
2026-09-22 11:01       ` Volodymyr Babchuk
2026-09-22 11:18         ` Jan Beulich
2026-09-02  6:35 ` [PATCH 11/14] crypto/vmac: don't cast away const-ness in aes_key_setup() Jan Beulich
2026-09-22  1:47   ` Volodymyr Babchuk
2026-09-02  6:35 ` [PATCH 12/14] gnttab: don't cast away constness Jan Beulich
2026-10-05 16:59   ` Roger Pau Monné
2026-10-06  5:59     ` Jan Beulich
2026-10-06  6:28       ` Jan Beulich
2026-09-02  6:36 ` [PATCH 13/14] passthrough/PCI: rework (s,b,d,f) init of struct pci_dev Jan Beulich
2026-09-02 12:44   ` Roger Pau Monné
2026-09-02 12:53     ` Jan Beulich
2026-09-02 15:07       ` Roger Pau Monné
2026-09-03  6:05         ` Jan Beulich
2026-09-02  6:37 ` [PATCH 14/14] xhci-dbc: don't cast away const-ness in xhci_find_dbc() Jan Beulich
2026-09-02  9:56   ` Marek Marczykowski-Górecki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c3585a8f-df34-425c-b504-7702f638cf37@suse.com \
    --to=jbeulich@suse.com \
    --cc=Volodymyr_Babchuk@epam.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=anthony.perard@vates.tech \
    --cc=bertrand.marquis@arm.com \
    --cc=julien@xen.org \
    --cc=michal.orzel@amd.com \
    --cc=nicola.vetrini@bugseng.com \
    --cc=roger@xenproject.org \
    --cc=sstabellini@kernel.org \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.