All of lore.kernel.org
 help / color / mirror / Atom feed
From: Julien Grall <julien.grall@linaro.org>
To: George Dunlap <george.dunlap@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>
Cc: keir@xen.org, stefano.stabellini@eu.citrix.com, tim@xen.org,
	jbeulich@suse.com, xen-devel@lists.xen.org
Subject: Re: [PATCH] xen: arm: fully implement multicall interface.
Date: Tue, 01 Apr 2014 10:05:23 +0100	[thread overview]
Message-ID: <533A8153.3050708@linaro.org> (raw)
In-Reply-To: <53399A03.9020105@eu.citrix.com>



On 31/03/14 17:38, George Dunlap wrote:
> On 03/28/2014 03:07 PM, Ian Campbell wrote:
>> On Fri, 2014-03-28 at 15:01 +0000, Julien Grall wrote:
>>> On 03/28/2014 02:45 PM, Ian Campbell wrote:
>>>
>>>> My feeling is that any (exploitable or otherwise) issue due to this
>>>> would be due to lack of proper error checking in the hypercall, and
>>>> would be equally accessible by a 64-bit guest.
>>> I don't think it's exploitable. IHMO, the main point is to give a useful
>>> debug to the user rather than an obscure error message because the given
>>> pointer is invalid (perhaps by mistake).
>> Right.
>>
>> We also want to avoid the case where it just happens to work in one
>> configuration (i.e. 32-on-32) but fails in another (i.e. 32-on-64).
>>
>>>> I'm considering whether to add an #ifndef NDEBUG check here which will
>>>> reject a multicall from a 32-bit guest where any of the arguments
>>>> (arm_hypercall_table[nr].nr_args) are non-zero in their top 32-bit. I
>>>> can't decide whether -EINVAL or domain_kill() would be more
>>>> appropriate.
>>>> I'm actually leaning towards the latter.
>>>>
>>>> Thoughts?
>>> Killing the domain is a bit tough.
>> Sure, but the point is to flush out 32-bit guests which make invalid
>> assumptions which will be broken when they run on 64-bit vs. 32-bit Xen.
>
> Perhaps return -EINVAL for NDEBUG, and kill if !NDEBUG?
>
> We generally don't want to be killing production VMs unless absolutely
> necessary.  One would of course hope that we had caught any bugs during
> development, but things don't always work the way you'd think...

Out-of-context, I've noticed that most of trap failure will kill the 
domain. From the ARM ARM , if a coprocessor instruction is failing, we 
should 	generate an Undefined Instruction exception (see P.7.5).

Regards,

-- 
Julien Grall

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

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-28 14:07 [PATCH] xen: arm: fully implement multicall interface Ian Campbell
2014-03-28 14:07 ` [PATCH] arm: xen: implement multicall hypercall support Ian Campbell
2014-03-28 14:51   ` Julien Grall
2014-03-28 14:58     ` Ian Campbell
2014-04-01 11:02   ` David Vrabel
2014-04-01 11:13     ` Ian Campbell
2014-03-28 14:22 ` [PATCH] xen: arm: fully implement multicall interface Julien Grall
2014-03-28 14:37   ` Ian Campbell
2014-03-28 15:03     ` Jan Beulich
2014-04-01 10:01       ` George Dunlap
2014-03-28 14:45 ` Ian Campbell
2014-03-28 15:01   ` Julien Grall
2014-03-28 15:07     ` Ian Campbell
2014-03-31 16:38       ` George Dunlap
2014-04-01  9:05         ` Julien Grall [this message]
2014-04-01  9:28           ` Ian Campbell
2014-04-01 10:46             ` Julien Grall
2014-04-01 10:49               ` Ian Campbell
2014-04-01 11:00                 ` Julien Grall
2014-04-01 11:15                   ` Ian Campbell
2014-04-01 12:05                     ` Julien Grall
2014-04-01 12:11                       ` Ian Campbell
2014-04-01 12:16                         ` Julien Grall
2014-04-01 12:16                           ` Ian Campbell
2014-04-01 12:53                             ` Julien Grall

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=533A8153.3050708@linaro.org \
    --to=julien.grall@linaro.org \
    --cc=Ian.Campbell@citrix.com \
    --cc=george.dunlap@eu.citrix.com \
    --cc=jbeulich@suse.com \
    --cc=keir@xen.org \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=tim@xen.org \
    --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.