All of lore.kernel.org
 help / color / mirror / Atom feed
From: Julien Grall <julien.grall@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>, xen-devel@lists.xen.org
Subject: Re: [PATCH 3/3] xen/arm: Survive unknown traps from guests
Date: Thu, 4 May 2017 20:18:04 +0100	[thread overview]
Message-ID: <d1916a52-a04b-4dce-7c2a-07ba3eb9eaae@arm.com> (raw)
In-Reply-To: <alpine.DEB.2.10.1705041213190.9240@sstabellini-ThinkPad-X260>



On 05/04/2017 08:14 PM, Stefano Stabellini wrote:
> On Thu, 4 May 2017, Julien Grall wrote:
>> Currently we crash Xen if we see an ESR_EL2.EC value we don't recognise.
>> As configurable disables/enables are added to the architecture
>> (controlled by RES1/RESO bits respectively), with associated synchronous
>> exceptions, it may be possible for a guest to trigger exceptions with
>> classes that we don't recognise.
>>
>> While we can't service these exceptions in a manner useful to the guest,
>> we can avoid bringing down the host. Per ARM DDI 0487A.k_iss10775, page
>> D7-1937, EC values within the range 0x00 - 0x2c are reserved for future
>> use with synchronous exceptions, and EC within the range 0x2d - 0x3f may
>> be used for either synchronous or asynchronous exceptions.
>>
>> The patch makes Xen handle any unknown EC by injecting an UNDEFINED
>> exception into the guest, with a corresponding (ratelimited) warning in
>> the log.
>>
>> This patch is based on Linux commit f050fe7a9164 "arm: KVM: Survive unknown
>> traps from the guest".
>>
>> Signed-off-by: Julien Grall <julien.grall@arm.com>
>> Acked-by: Mark Rutland <mark.rutland@arm.com>
>> ---
>>  xen/arch/arm/traps.c | 7 ++++---
>>  1 file changed, 4 insertions(+), 3 deletions(-)
>>
>> diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
>> index c8ce62ff96..c0203da097 100644
>> --- a/xen/arch/arm/traps.c
>> +++ b/xen/arch/arm/traps.c
>> @@ -2926,9 +2926,10 @@ asmlinkage void do_trap_guest_sync(struct cpu_user_regs *regs)
>>          break;
>>
>>      default:
>> -        printk("Guest Trap. HSR=0x%x EC=0x%x IL=%x Syndrome=0x%"PRIx32"\n",
>> -               hsr.bits, hsr.ec, hsr.len, hsr.iss);
>> -        do_unexpected_trap("Guest", regs);
>> +        gprintk(XENLOG_WARNING,
>> +                "Guest Trap. HSR=0x%x EC=0x%x IL=%x Syndrome=0x%"PRIx32"\n",
>> +                hsr.bits, hsr.ec, hsr.len, hsr.iss);
>> +        inject_undef_exception(regs, hsr);
>>      }
>>  }
>
> I see you addressed my previous comment in this patch :-)

I wanted to keep the actual behavior in the previous patch (e.g panicing 
on unknown traps). I will have to resend the series to address Andrew's 
comment, so I can mention it in the commit message.

Cheers,

-- 
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

      reply	other threads:[~2017-05-04 19:18 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-04 17:54 [PATCH 0/3] xen/arm: Survive unknown traps from guests Julien Grall
2017-05-04 17:54 ` [PATCH 1/3] xen/arm: arm32: Rename the trap to the correct name Julien Grall
2017-05-04 18:57   ` Stefano Stabellini
2017-05-04 17:54 ` [PATCH 2/3] xen/arm: do_trap_hypervisor: Separate hypervisor and guest traps Julien Grall
2017-05-04 18:03   ` Andrew Cooper
2017-05-04 18:06     ` Julien Grall
2017-05-04 19:13   ` Stefano Stabellini
2017-05-04 17:54 ` [PATCH 3/3] xen/arm: Survive unknown traps from guests Julien Grall
2017-05-04 19:14   ` Stefano Stabellini
2017-05-04 19:18     ` Julien Grall [this message]

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=d1916a52-a04b-4dce-7c2a-07ba3eb9eaae@arm.com \
    --to=julien.grall@arm.com \
    --cc=mark.rutland@arm.com \
    --cc=sstabellini@kernel.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.