From: <vkilari@codeaurora.org>
To: "'Auger Eric'" <eric.auger@redhat.com>,
<kvmarm@lists.cs.columbia.edu>, <marc.zyngier@arm.com>,
<cdall@linaro.org>, <andre.przywara@arm.com>
Cc: vvenkat@codeaurora.org, kvm@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Subject: RE: [PATCH] KVM: arm64: vgic-its: Fix wrong return value check in vgic_its_restore_device_tables
Date: Sun, 17 Sep 2017 13:40:56 +0530 [thread overview]
Message-ID: <000401d32f8c$828f4270$87adc750$@codeaurora.org> (raw)
In-Reply-To: <65a66715-4f22-07d4-879a-1181c8dad889@redhat.com>
Hi Eric,
Sorry for delayed reply.
> -----Original Message-----
> From: Auger Eric [mailto:eric.auger@redhat.com]
> Sent: Wednesday, September 6, 2017 12:53 PM
> To: Vijaya Kumar K <vkilari@codeaurora.org>;
> kvmarm@lists.cs.columbia.edu; marc.zyngier@arm.com; cdall@linaro.org;
> andre.przywara@arm.com
> Cc: vvenkat@codeaurora.org; shankerd@codeaurora.org;
> kvm@vger.kernel.org; linux-arm-kernel@lists.infradead.org
> Subject: Re: [PATCH] KVM: arm64: vgic-its: Fix wrong return value check in
> vgic_its_restore_device_tables
>
> Hi Vijaya,
>
> On 06/09/2017 07:26, Vijaya Kumar K wrote:
> > scan_its_table() return 1 on success.
>
> As mentioned in the kernel-doc comment of scan_its_table, this latter
> returns 1 if the last element is not found. Than can happen while scanning
an
> L2 table but shouldn't happen if we scan an L1 table.
>
> * Return: < 0 on error, 0 if last element was identified, 1 otherwise
> * (the last element may not be found on second level tables)
OK. I will fix this comment
>
>
> In the function vgic_its_restore_device_tables()
> > the return value of scan_its_table() is checked against success value
> > and returns -EINVAL. Hence migration fails for VM with ITS.
> >
> > With this patch the failure return value is checked while returning
> > -EINVAL.
> >
> > Signed-off-by: Vijaya Kumar K <vkilari@codeaurora.org>
> >
> > diff --git a/virt/kvm/arm/vgic/vgic-its.c
> > b/virt/kvm/arm/vgic/vgic-its.c index aa6b68d..63f8ac3 100644
> > --- a/virt/kvm/arm/vgic/vgic-its.c
> > +++ b/virt/kvm/arm/vgic/vgic-its.c
> > @@ -2142,7 +2142,7 @@ static int vgic_its_restore_device_tables(struct
> vgic_its *its)
> > vgic_its_restore_dte, NULL);
> > }
> >
> > - if (ret > 0)
> > + if (ret <= 0)
> > ret = -EINVAL;
> your modification would return -EINVAL for whatever error encountered
> during the scan table or if last element is found. I don't think this is
what we
> want.
IIUC, ret 0 indicates last entry of the table. So in this case return value
0 is also success.
with the assumption that table might be smaller than size.
So only check for < 0 and return -EINVAL. For all other return values 0 and
> 0 return 0.
as below. Please correct me if I wrong.
If (ret < 0)
ret = -EINVAL;
else
ret = 0;
next prev parent reply other threads:[~2017-09-17 8:10 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-06 5:26 [PATCH] KVM: arm64: vgic-its: Fix wrong return value check in vgic_its_restore_device_tables Vijaya Kumar K
2017-09-06 7:22 ` Auger Eric
2017-09-17 8:10 ` vkilari [this message]
2017-09-19 8:17 ` Auger Eric
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='000401d32f8c$828f4270$87adc750$@codeaurora.org' \
--to=vkilari@codeaurora.org \
--cc=andre.przywara@arm.com \
--cc=cdall@linaro.org \
--cc=eric.auger@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=kvmarm@lists.cs.columbia.edu \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=marc.zyngier@arm.com \
--cc=vvenkat@codeaurora.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox