From: Mats Petersson <mats.petersson@citrix.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: ARM fixes for my improved privcmd patch.
Date: Wed, 19 Dec 2012 15:47:36 +0000 [thread overview]
Message-ID: <50D1E198.8090205@citrix.com> (raw)
In-Reply-To: <1355931948.14620.442.camel@zakaz.uk.xensource.com>
On 19/12/12 15:45, Ian Campbell wrote:
> On Wed, 2012-12-19 at 15:08 +0000, Mats Petersson wrote:
>> On 19/12/12 12:22, Ian Campbell wrote:
>>> On Wed, 2012-12-19 at 12:10 +0000, Mats Petersson wrote:
>>>
>>>>>> + only likely to return EFAULT or some other "things are very
>>>>>> + bad" error code, which the rest of the calling code won't
>>>>>> + be able to fix up. So we just exit with the error we got.
>>>>> It expect it is more important to accumulate the individual errors from
>>>>> remap_pte_fn into err_ptr.
>>>> Yes, but since that exits on error with EFAULT, the calling code won't
>>>> "accept" the errors, and thus the whole house of cards fall apart at
>>>> this point.
>>>>
>>>> There should probably be a task to fix this up properly, hence the
>>>> comment. But right now, any error besides ENOENT is "unacceptable" by
>>>> the callers of this code. If you want me to add this to the comment, I'm
>>>> happy to. But as long as remap_pte_fn returns EFAULT on error, nothing
>>>> will work after an error.
>>> Are you sure? privcmd.c has some special casing for ENOENT but it looks
>>> like it should just pass through other errors back to userspace.
>>>
>>> In any case surely this needs fixing?
>>>
>>> On the X86 side err_ptr is the result of the mmupdate hypercall which
>>> can already be other than ENOENT, including EFAULT, ESRCH etc.
>> Yes, but the ONLY error that is "acceptable" (as in, doesn't lead to the
>> calling code revoking the mapping and returning an error) is ENOENT.
> Hr, Probably the right thing is for map_foreign_page to propagate the
> result of XENMEM_add_to_physmap_range and for remap_pte_fn to store it
> in err_ptr. That -EFAULT thing just looks wrong to me.
Ok, so you want me to fix that up, I suppose? I mean, I just copied the
behaviour that was already there - just massaged the code around a bit...
--
Mats
>
>> Or at least, that's how I believe it should SHOULD be - since only
>> ENOENT is a "success" error code, anything else pretty much means that
>> the operation requested didn't work properly. If you are aware of any
>> use-case where EFAULT, ESRCH or other error codes would still result in
>> a valid, usable memory mapping - I have a fair understanding of the xc_*
>> code, and although I may not know every piece of that code, I'm fairly
>> certainly that is the expected behaviour.
>>
>> --
>> Mats
>>> Ian.
>>>
>
next prev parent reply other threads:[~2012-12-19 15:47 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <50CB5B32.50406@citrix.com>
[not found] ` <1355763448.14620.111.camel@zakaz.uk.xensource.com>
[not found] ` <50CF587B.5090602@citrix.com>
[not found] ` <1355829451.14620.188.camel@zakaz.uk.xensource.com>
[not found] ` <50D05358.30303@citrix.com>
[not found] ` <1355830856.14620.206.camel@zakaz.uk.xensource.com>
[not found] ` <50D074F5.6060202@citrix.com>
2012-12-18 16:07 ` ARM fixes for my improved privcmd patch Konrad Rzeszutek Wilk
2012-12-18 19:34 ` Mats Petersson
2012-12-19 10:59 ` Ian Campbell
2012-12-19 12:10 ` Mats Petersson
2012-12-19 12:22 ` Ian Campbell
2012-12-19 15:08 ` Mats Petersson
2012-12-19 15:45 ` Ian Campbell
2012-12-19 15:47 ` Mats Petersson [this message]
2012-12-19 15:51 ` Ian Campbell
2012-12-19 15:59 ` Mats Petersson
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=50D1E198.8090205@citrix.com \
--to=mats.petersson@citrix.com \
--cc=Ian.Campbell@citrix.com \
--cc=konrad.wilk@oracle.com \
--cc=xen-devel@lists.xensource.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).