All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Andrew Cooper3 <andrew.cooper3@citrix.com>,
	Roger Pau <roger.pau@citrix.com>,
	Consulting <consulting@bugseng.com>,
	Xen Devel <xen-devel@lists.xenproject.org>
Subject: Re: MISRA C Rule 5.3 violation - shadowing in mctelem.c
Date: Thu, 20 Jun 2024 18:40:11 +0200	[thread overview]
Message-ID: <93cfbed5db97faf7953a9a79461b669a@bugseng.com> (raw)
In-Reply-To: <f14f15ad-7d16-4bec-9edc-82956ccc7bb4@suse.com>

On 2024-06-19 15:42, Jan Beulich wrote:
> On 19.06.2024 15:23, Nicola Vetrini wrote:
>> I was looking at the shadowing due to the struct identifier and the
>> local variables "mctctl" in x86/cpu/mcheck/mctelem.c (see [1], the
>> second report). This kind of shadowing seems very intentional, and the
>> initial naive approach I devised was to simply rename the local
>> variables.
>> This, however, results in build breakages, as sometimes the shadowed
>> name seems to be used for accessing the global struct (unless I'm
>> missing something), and as a result changing the name of the locals is
>> not possible, at least not without further modifications to this file,
>> which aren't obvious to me.
>> 
>> It would be really helpful if you could point me to either:
>> - avoid the shadowing in some way that does not occur to me at the
>> moment;
> 
> Could you please be more specific about the issues you encountered? I
> hope you don't expect everyone reading this request of yours to (try 
> to)
> redo what you did. The only thing I could vaguely guess is that maybe
> you went a little too far with the renaming. Plus, just from looking at
> the grep output, did you try to simply move down the file scope 
> variable?
> It looks like all shadowing instances are ahead of any uses of the
> variable (but I may easily be overlooking an important line 
> contradicting
> that pattern).
> 

I think I found a way to refactor it without breaking the build, though 
I'm not sure whether it preserves the semantics of the code. I will send 
an RFC patch. Sorry for the noise.

>> - deviate this file, as many similar files in x86/cpu are already
>> deviated.
> 
> I question the presence of these in those files. They were apparently 
> all
> added when the files were introduced, and said commit - from Simone, 
> acked
> by Stefano - came with no justification at all.
> 
> Jan

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


      reply	other threads:[~2024-06-20 16:40 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-19 13:23 MISRA C Rule 5.3 violation - shadowing in mctelem.c Nicola Vetrini
2024-06-19 13:42 ` Jan Beulich
2024-06-20 16:40   ` Nicola Vetrini [this message]

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=93cfbed5db97faf7953a9a79461b669a@bugseng.com \
    --to=nicola.vetrini@bugseng.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=consulting@bugseng.com \
    --cc=jbeulich@suse.com \
    --cc=roger.pau@citrix.com \
    --cc=simone.ballarin@bugseng.com \
    --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.