All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org,
	michal.orzel@amd.com, xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com, consulting@bugseng.com,
	jbeulich@suse.com, roger.pau@citrix.com,
	bertrand.marquis@arm.com, julien@xen.org,
	George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 01/10] xen/include: address violations of MISRA C Rule 20.7
Date: Thu, 29 Feb 2024 17:53:32 +0100	[thread overview]
Message-ID: <95c49f91b6a2b4d7766db7b0152969af@bugseng.com> (raw)
In-Reply-To: <dd361525-be1a-4d11-bbc8-4f5eedd381e0@citrix.com>

On 2024-02-29 17:47, Andrew Cooper wrote:
> On 29/02/2024 4:21 pm, Nicola Vetrini wrote:
>> On 2024-02-29 17:10, Andrew Cooper wrote:
>>> On 29/02/2024 3:27 pm, Nicola Vetrini wrote:
>>>> diff --git a/xen/include/xen/kconfig.h b/xen/include/xen/kconfig.h
>>>> index c25dc0f6c2a9..b7e70289737b 100644
>>>> --- a/xen/include/xen/kconfig.h
>>>> +++ b/xen/include/xen/kconfig.h
>>>> @@ -25,7 +25,7 @@
>>>>  #define __ARG_PLACEHOLDER_1 0,
>>>>  #define config_enabled(cfg) _config_enabled(cfg)
>>>>  #define _config_enabled(value)
>>>> __config_enabled(__ARG_PLACEHOLDER_##value)
>>>> -#define __config_enabled(arg1_or_junk)
>>>> ___config_enabled(arg1_or_junk 1, 0)
>>>> +#define __config_enabled(arg1_or_junk)
>>>> ___config_enabled(arg1_or_junk (1), (0))
>>>>  #define ___config_enabled(__ignored, val, ...) val
>>> 
>>> This one hunk I suggest we deviate rather than adjust.  You've subtly
>>> broken it, and it's extreme preprocessor magic in the first place to
>>> turn an absent symbol into a 0.
>>> 
>> 
>> How so? I did test this because I was very wary of it, but it seemed
>> to expand fine (either if ((0)) or if ((1)) ). I may of course be
>> wrong, and it could be deviated regardless.
>> 
> 
> arg1_or_junk(1) can now be a function or macro expansion depending on
> context, where previously it couldn't be.
> 

I see, that would be a latent bug. I do agree on deviating then.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


  reply	other threads:[~2024-02-29 16:53 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-29 15:27 [XEN PATCH 00/10] address some violations of MISRA C Rule 20.7 Nicola Vetrini
2024-02-29 15:27 ` [XEN PATCH 01/10] xen/include: address " Nicola Vetrini
2024-02-29 16:10   ` Andrew Cooper
2024-02-29 16:21     ` Nicola Vetrini
2024-02-29 16:47       ` Andrew Cooper
2024-02-29 16:53         ` Nicola Vetrini [this message]
2024-02-29 16:25   ` Jan Beulich
2024-02-29 16:40     ` Nicola Vetrini
2024-02-29 16:47       ` Jan Beulich
2024-02-29 15:27 ` [XEN PATCH 02/10] xen/arm: address some " Nicola Vetrini
2024-02-29 16:34   ` Jan Beulich
2024-03-01 15:30     ` Nicola Vetrini
2024-03-04 18:17       ` Nicola Vetrini
2024-03-05  1:43         ` Stefano Stabellini
2024-03-05 10:25           ` Nicola Vetrini
2024-02-29 15:27 ` [XEN PATCH 03/10] x86: " Nicola Vetrini
2024-02-29 16:37   ` Jan Beulich
2024-02-29 16:45     ` Nicola Vetrini
2024-02-29 17:05       ` Jan Beulich
2024-03-05 10:26         ` Nicola Vetrini
2024-02-29 15:27 ` [XEN PATCH 04/10] xen/public: address " Nicola Vetrini
2024-02-29 16:40   ` Jan Beulich
2024-02-29 16:49     ` Nicola Vetrini
2024-02-29 22:49       ` Stefano Stabellini
2024-03-05 10:21         ` Nicola Vetrini
2024-03-05 10:26           ` Jan Beulich
2024-03-05 16:17             ` Nicola Vetrini
2024-03-01  7:54       ` Jan Beulich
2024-02-29 15:27 ` [XEN PATCH 05/10] xen/perfc: " Nicola Vetrini
2024-02-29 16:42   ` Jan Beulich
2024-02-29 16:50     ` Nicola Vetrini
2024-02-29 15:27 ` [XEN PATCH 06/10] arm/smmu: address some " Nicola Vetrini
2024-02-29 22:53   ` Stefano Stabellini
2024-03-05 10:23     ` Nicola Vetrini
2024-03-07  1:31   ` Stefano Stabellini
2024-02-29 15:27 ` [XEN PATCH 07/10] xen/arm: smmuv3: address " Nicola Vetrini
2024-02-29 22:54   ` Stefano Stabellini
2024-02-29 15:28 ` [XEN PATCH 08/10] xen/errno: " Nicola Vetrini
2024-02-29 22:55   ` Stefano Stabellini
2024-03-01  8:10     ` Nicola Vetrini
2024-03-04  9:39   ` Jan Beulich
2024-02-29 15:28 ` [XEN PATCH 09/10] xen/include: tasklet: " Nicola Vetrini
2024-02-29 22:56   ` Stefano Stabellini
2024-02-29 15:28 ` [XEN PATCH 10/10] xen/keyhandler: " Nicola Vetrini
2024-02-29 22:57   ` Stefano Stabellini
2024-03-01  8:00     ` Jan Beulich
2024-03-02  1:37       ` Stefano Stabellini
2024-03-04  8:00         ` Jan Beulich
2024-03-05  2:03           ` Stefano Stabellini
2024-03-05  7:00             ` Jan Beulich
2024-03-07  1:39               ` Stefano Stabellini
2024-03-07  7:42                 ` Jan Beulich
2024-03-07 13:52                   ` Nicola Vetrini

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=95c49f91b6a2b4d7766db7b0152969af@bugseng.com \
    --to=nicola.vetrini@bugseng.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=ayan.kumar.halder@amd.com \
    --cc=bertrand.marquis@arm.com \
    --cc=consulting@bugseng.com \
    --cc=george.dunlap@citrix.com \
    --cc=jbeulich@suse.com \
    --cc=julien@xen.org \
    --cc=michal.orzel@amd.com \
    --cc=roger.pau@citrix.com \
    --cc=sstabellini@kernel.org \
    --cc=wl@xen.org \
    --cc=xen-devel@lists.xenproject.org \
    --cc=xenia.ragiadakou@amd.com \
    /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.