All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com,
	xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com,
	consulting@bugseng.com, "Paul Durrant" <paul@xen.org>,
	"Andrew Cooper" <andrew.cooper3@citrix.com>,
	"Roger Pau Monné" <roger.pau@citrix.com>, "Wei Liu" <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 2/4] x86/emulate: move a variable declaration to address MISRA C:2012 Rule 5.3
Date: Thu, 27 Jul 2023 17:22:15 +0200	[thread overview]
Message-ID: <baaed0c1-2324-86ab-a6a4-6721dc67243e@bugseng.com> (raw)
In-Reply-To: <9db05529-b4ed-89c0-a140-118c0ccf44bb@suse.com>



On 27/07/23 17:06, Jan Beulich wrote:
> On 27.07.2023 12:48, Nicola Vetrini wrote:
>> --- a/xen/arch/x86/hvm/emulate.c
>> +++ b/xen/arch/x86/hvm/emulate.c
>> @@ -2024,15 +2024,15 @@ static int cf_check hvmemul_rep_stos(
>>   
>>       switch ( p2mt )
>>       {
>> -        unsigned long bytes;
>>           char *buf;
>>   
>>       default:
>>           /* Allocate temporary buffer. */
>>           for ( ; ; )
>>           {
>> -            bytes = *reps * bytes_per_rep;
>> -            buf = xmalloc_bytes(bytes);
>> +            unsigned long bytes_tmp;
>> +            bytes_tmp = *reps * bytes_per_rep;
>> +            buf = xmalloc_bytes(bytes_tmp);
>>               if ( buf || *reps <= 1 )
>>                   break;
>>               *reps >>= 1;
> 
> This wants dealing with differently - the outer scope variable is unused
> (only written to) afaics. Eliminating it will, aiui, address another
> violation at the same time. And then the same in hvmemul_rep_movs(), just
> that there the variable itself needs to survive. I guess I'll make a
> patch ...
> 
> Jan

Wouldn't this code at line ~2068 be possibly affected by writing to 
bytes, if the outer variable is used?

/* Adjust address for reverse store. */
if ( df )
   gpa -= bytes - bytes_per_rep;

rc = hvm_copy_to_guest_phys(gpa, buf, bytes, curr);

You're right about the other violation (R2.1)

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


  reply	other threads:[~2023-07-27 15:22 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-27 10:47 [XEN PATCH 0/4] address violations of MISRA C:2012 Rule 5.3 on x86 Nicola Vetrini
2023-07-27 10:45 ` [XEN PATCH 3/4] x86/mm: mechanically rename variable to avoid shadowing Nicola Vetrini
2023-07-27 10:48   ` Nicola Vetrini
2023-07-27 15:34   ` Jan Beulich
2023-07-27 10:47 ` [XEN PATCH 1/4] x86: mechanically rename to address MISRA C:2012 Rule 5.3 Nicola Vetrini
2023-07-27 14:50   ` Jan Beulich
2023-07-27 15:00     ` Andrew Cooper
2023-07-27 15:18       ` Nicola Vetrini
2023-07-27 10:48 ` [XEN PATCH 2/4] x86/emulate: move a variable declaration " Nicola Vetrini
2023-07-27 15:06   ` Jan Beulich
2023-07-27 15:22     ` Nicola Vetrini [this message]
2023-07-27 15:31       ` Jan Beulich
2023-07-27 15:35         ` Nicola Vetrini
2023-07-27 10:48 ` [XEN PATCH 4/4] x86: avoid shadowing " Nicola Vetrini
2023-07-27 15:41   ` Jan Beulich
2023-07-27 15:58     ` Nicola Vetrini
2023-07-27 16:04       ` Jan Beulich
2023-07-27 10:48 ` [XEN PATCH 0/4] address violations of MISRA C:2012 Rule 5.3 on x86 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=baaed0c1-2324-86ab-a6a4-6721dc67243e@bugseng.com \
    --to=nicola.vetrini@bugseng.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=ayan.kumar.halder@amd.com \
    --cc=consulting@bugseng.com \
    --cc=jbeulich@suse.com \
    --cc=michal.orzel@amd.com \
    --cc=paul@xen.org \
    --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.