All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Li Zhang <lizhang@suse.de>
Cc: pbonzini@redhat.com, cfontana@suse.de, qemu-devel@nongnu.org
Subject: Re: [PATCH 1/1] kvm: Clear variables which may not be used
Date: Mon, 6 Dec 2021 11:39:34 +0000	[thread overview]
Message-ID: <Ya32dqW8Mo0/X+3H@redhat.com> (raw)
In-Reply-To: <20211206112738.14893-1-lizhang@suse.de>

On Mon, Dec 06, 2021 at 12:27:38PM +0100, Li Zhang wrote:
> The variables msi, route in kvm_irqchip_send_msi may be uninitialised
> values in some cases. It's necessary to clear them.

You say the patch is going to 'clear them' but....

> 
> Signed-off-by: Li Zhang <lizhang@suse.de>
> ---
>  accel/kvm/kvm-all.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c
> index eecd8031cf..bd50dc6b80 100644
> --- a/accel/kvm/kvm-all.c
> +++ b/accel/kvm/kvm-all.c
> @@ -1913,10 +1913,8 @@ static KVMMSIRoute *kvm_lookup_msi_route(KVMState *s, MSIMessage msg)
>  
>  int kvm_irqchip_send_msi(KVMState *s, MSIMessage msg)
>  {
> -    struct kvm_msi msi;
> -    KVMMSIRoute *route;
> -
>      if (kvm_direct_msi_allowed) {
> +        struct kvm_msi msi;

...but this is still an uninitialized declaration.

>          msi.address_lo = (uint32_t)msg.address;
>          msi.address_hi = msg.address >> 32;
>          msi.data = le32_to_cpu(msg.data);

I guess the bug you were wanting to fix is that this code only
initializes 5 out of 6 struct fields, before calling the
ioctl.

> @@ -1926,6 +1924,7 @@ int kvm_irqchip_send_msi(KVMState *s, MSIMessage msg)
>          return kvm_vm_ioctl(s, KVM_SIGNAL_MSI, &msi);
>      }
>  
> +    KVMMSIRoute *route;

This was initialized correctly before and didn't need moving

>      route = kvm_lookup_msi_route(s, msg);
>      if (!route) {
>          int virq;

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



  reply	other threads:[~2021-12-06 11:40 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-06 11:27 [PATCH 1/1] kvm: Clear variables which may not be used Li Zhang
2021-12-06 11:39 ` Daniel P. Berrangé [this message]
2021-12-06 13:47   ` Li Zhang

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=Ya32dqW8Mo0/X+3H@redhat.com \
    --to=berrange@redhat.com \
    --cc=cfontana@suse.de \
    --cc=lizhang@suse.de \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.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.