All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ian Campbell <Ian.Campbell@eu.citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: paolo.valente@unimore.it, keir@xen.org, tim@xen.org,
	dario.faggioli@citrix.com, Ian.Jackson@eu.citrix.com,
	xen-devel@lists.xen.org, julien.grall@citrix.com,
	etrudeau@broadcom.com, Jan Beulich <JBeulich@suse.com>,
	Arianna Avanzini <avanzini.arianna@gmail.com>,
	viktor.kleinik@globallogic.com
Subject: Re: [PATCH v4 4/7] xen, common: add the XEN_DOMCTL_memory_mapping hypercall
Date: Tue, 1 Apr 2014 16:01:34 +0100	[thread overview]
Message-ID: <1396364494.8667.226.camel@kazak.uk.xensource.com> (raw)
In-Reply-To: <alpine.DEB.2.02.1403251540100.20389@kaball.uk.xensource.com>

On Tue, 2014-03-25 at 15:42 +0000, Stefano Stabellini wrote:
> On Tue, 25 Mar 2014, Jan Beulich wrote:
> > >>> On 25.03.14 at 16:10, <stefano.stabellini@eu.citrix.com> wrote:
> > > On Tue, 25 Mar 2014, Jan Beulich wrote:
> > >> >>> On 25.03.14 at 13:35, <stefano.stabellini@eu.citrix.com> wrote:
> > >> > On Tue, 25 Mar 2014, Arianna Avanzini wrote:
> > >> >> +            add = unmap_mmio_regions(d, gfn, gfn_end - 1, mfn);
> > >> >> +            ret = iomem_deny_access(d, mfn, mfn_end - 1);
> > >> >> +            if ( ret && add )
> > >> >> +                ret = -EIO;
> > >> > 
> > >> > This is a functional change. The removed code did:
> > >> > 
> > >> > -            ret = iomem_deny_access(d, mfn, mfn + nr_mfns - 1);
> > >> > -            if ( !ret && add )
> > >> > -                ret = -EIO;
> > >> > 
> > >> > The change looks correct to me, but I would appreciate if you could
> > >> > mention it explicitly in the commit message.
> > >> 
> > >> I overlooked this, and no, it is not correct (and I don't follow why
> > >> you think it is): We only want to force ret to -EIO if
> > >> iomem_deny_access() didn't already return another error.
> > > 
> > > I thought that the intention was to return -EIO if unmap_mmio_regions
> > > failed, even if iomem_deny_access is successful.
> > > iomem_deny_access errors should be taken care by the
> > > iomem_access_permitted check above, returning -EPERM.
> > 
> > It certainly doesn't matter _that_ much which error to return here,
> > but code movement shouldn't be done with silent functional changes,
> 
> I agree
> 
> 
> > the more that the change is buggy beyond altering original behavior:
> > Consider the case of ret = 0 (iomem_deny_access() succeeded) and
> > add = 1 (unmap_mmio_regions() failed) - the failure would be lost
> > with the changed code.
> 
> Yes, you are right, the original code is the correct one.

Although the reuse of the add variable in the else clause if an if (add)
is pretty damned confusing...

Ian.

  reply	other threads:[~2014-04-01 15:01 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-25  2:02 [PATCH v4 0/7] Implement the XEN_DOMCTL_memory_mapping hypercall for ARM Arianna Avanzini
2014-03-25  2:02 ` [PATCH v4 1/7] arch, arm: domain build: let dom0 access I/O memory of mapped devices Arianna Avanzini
2014-03-25 12:37   ` Julien Grall
2014-03-25  2:02 ` [PATCH v4 2/7] arch, arm: add consistency checks to REMOVE p2m changes Arianna Avanzini
2014-03-25 12:18   ` Stefano Stabellini
2014-03-25 12:51   ` Julien Grall
2014-03-25 13:10     ` Julien Grall
2014-03-25 17:41   ` Ian Campbell
2014-03-25  2:02 ` [PATCH v4 3/7] arch, arm: let map_mmio_regions() take pfn as parameters Arianna Avanzini
2014-03-25 12:22   ` Stefano Stabellini
2014-03-25 12:54     ` Julien Grall
2014-03-28 12:51       ` Arianna Avanzini
2014-03-28 13:31         ` Julien Grall
2014-03-25 13:00   ` Julien Grall
2014-03-25  2:02 ` [PATCH v4 4/7] xen, common: add the XEN_DOMCTL_memory_mapping hypercall Arianna Avanzini
2014-03-25  9:33   ` Jan Beulich
2014-03-28 13:24     ` Arianna Avanzini
2014-03-28 13:30       ` Jan Beulich
2014-03-25 12:35   ` Stefano Stabellini
2014-03-25 14:10     ` Jan Beulich
2014-03-25 15:10       ` Stefano Stabellini
2014-03-25 15:36         ` Jan Beulich
2014-03-25 15:42           ` Stefano Stabellini
2014-04-01 15:01             ` Ian Campbell [this message]
2014-04-01 15:18               ` Jan Beulich
2014-04-01 15:37                 ` Ian Campbell
2014-03-25 13:17   ` Julien Grall
2014-04-01 14:52     ` Ian Campbell
2014-04-01 15:16       ` Julien Grall
2014-04-01 15:39         ` Ian Campbell
2014-04-01 16:00           ` Julien Grall
2014-04-02  9:43             ` Ian Campbell
2014-04-02 10:06               ` Jan Beulich
2014-04-02 10:19                 ` Ian Campbell
2014-04-02 10:53                   ` Jan Beulich
2014-04-05 12:08                     ` Arianna Avanzini
2014-04-06 16:23                       ` Stefano Stabellini
2014-04-07  7:01                       ` Jan Beulich
2014-03-25  2:02 ` [PATCH v4 5/7] tools, libxl: parse optional start gfn from the iomem config option Arianna Avanzini
2014-03-25 15:39   ` Julien Grall
2014-03-25 15:45     ` Julien Grall
2014-03-25 16:27     ` Ian Campbell
2014-03-25  2:02 ` [PATCH v4 6/7] tools, libxl: add helpers to establish if guest is auto-translated Arianna Avanzini
2014-03-25  2:02 ` [PATCH v4 7/7] tools, libxl: handle the iomem parameter with the memory_mapping hcall Arianna Avanzini
2014-04-01 15:13   ` Ian Campbell
2014-04-01 15:26     ` Julien Grall
2014-04-01 15:34       ` Ian Campbell
2014-04-01 20:52       ` Daniel De Graaf
2014-04-02  9:45         ` Ian Campbell
2014-04-02 14:14           ` Daniel De Graaf

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=1396364494.8667.226.camel@kazak.uk.xensource.com \
    --to=ian.campbell@eu.citrix.com \
    --cc=Ian.Jackson@eu.citrix.com \
    --cc=JBeulich@suse.com \
    --cc=avanzini.arianna@gmail.com \
    --cc=dario.faggioli@citrix.com \
    --cc=etrudeau@broadcom.com \
    --cc=julien.grall@citrix.com \
    --cc=keir@xen.org \
    --cc=paolo.valente@unimore.it \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=tim@xen.org \
    --cc=viktor.kleinik@globallogic.com \
    --cc=xen-devel@lists.xen.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.