All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Jones <drjones@redhat.com>
To: Marc Zyngier <marc.zyngier@arm.com>
Cc: Christoffer Dall <christoffer.dall@linaro.org>,
	Shannon Zhao <shannon.zhao@linaro.org>,
	Peter Maydell <peter.maydell@linaro.org>,
	linux-arm-kernel@lists.infradead.org, kvm@vger.kernel.org,
	kvmarm@lists.cs.columbia.edu
Subject: Re: [PATCH] arm64: KVM: Fix AArch64 guest userspace exception injection
Date: Tue, 12 Jan 2016 20:13:35 +0100	[thread overview]
Message-ID: <20160112191335.GB5795@hawk.localdomain> (raw)
In-Reply-To: <56954992.7000307@arm.com>

On Tue, Jan 12, 2016 at 06:44:34PM +0000, Marc Zyngier wrote:
> On 12/01/16 18:23, Andrew Jones wrote:
> > Hi Marc,
> > 
> > Please shoot me if the following statement is false.
> 
> I wouldn't do that. Having had the privilege to waste 10 months of my
> life doing a military service, I quickly discovered I didn't like
> weapons nor those who carry them...
> 
> > Without this patch, if a guest that is running in, e.g. PSR_MODE_EL0t,
> > tries to do, e.g. 'smc #0', then KVM will inject an undef exception,
> > which should lead to the guest resuming at VBAR_EL1 + 0x400, but instead
> > it resumes at VBAR_EL1 + 0x200.
> 
> Not quite. SMC is undefined at EL0 (see C6.6.165), so it is not trapped
> to EL2, but to EL1. KVM is not in the loop at all in that case.
> 
> > Now, if you haven't started loading your gun to shoot me yet, then I'm
> > quite confused as to why the unit test[1] I wrote for this works just
> > fine without this patch.
> 
> If you want to exercise that path, you have to access something that
> wouldn't trap to EL1, but that EL2 traps. I don't think we have much
> stuff so far that can be used at EL0 and would be trapped to EL2,
> unfortunately (the PMU code is probably the first thing we'll merge).
>
> In the meantime, this test case is fairly pointless, I'm afraid...

Ah, thanks for the clarification, and the lack of desire to shoot me.
I'll stash this test case for a later day.

drew

WARNING: multiple messages have this Message-ID (diff)
From: drjones@redhat.com (Andrew Jones)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] arm64: KVM: Fix AArch64 guest userspace exception injection
Date: Tue, 12 Jan 2016 20:13:35 +0100	[thread overview]
Message-ID: <20160112191335.GB5795@hawk.localdomain> (raw)
In-Reply-To: <56954992.7000307@arm.com>

On Tue, Jan 12, 2016 at 06:44:34PM +0000, Marc Zyngier wrote:
> On 12/01/16 18:23, Andrew Jones wrote:
> > Hi Marc,
> > 
> > Please shoot me if the following statement is false.
> 
> I wouldn't do that. Having had the privilege to waste 10 months of my
> life doing a military service, I quickly discovered I didn't like
> weapons nor those who carry them...
> 
> > Without this patch, if a guest that is running in, e.g. PSR_MODE_EL0t,
> > tries to do, e.g. 'smc #0', then KVM will inject an undef exception,
> > which should lead to the guest resuming at VBAR_EL1 + 0x400, but instead
> > it resumes at VBAR_EL1 + 0x200.
> 
> Not quite. SMC is undefined at EL0 (see C6.6.165), so it is not trapped
> to EL2, but to EL1. KVM is not in the loop at all in that case.
> 
> > Now, if you haven't started loading your gun to shoot me yet, then I'm
> > quite confused as to why the unit test[1] I wrote for this works just
> > fine without this patch.
> 
> If you want to exercise that path, you have to access something that
> wouldn't trap to EL1, but that EL2 traps. I don't think we have much
> stuff so far that can be used at EL0 and would be trapped to EL2,
> unfortunately (the PMU code is probably the first thing we'll merge).
>
> In the meantime, this test case is fairly pointless, I'm afraid...

Ah, thanks for the clarification, and the lack of desire to shoot me.
I'll stash this test case for a later day.

drew

  reply	other threads:[~2016-01-12 19:13 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-07  9:03 [PATCH] arm64: KVM: Fix AArch64 guest userspace exception injection Marc Zyngier
2016-01-07  9:03 ` Marc Zyngier
2016-01-08  8:36 ` Shannon Zhao
2016-01-08  8:36   ` Shannon Zhao
2016-01-08  8:36   ` Shannon Zhao
2016-01-08  8:56   ` Marc Zyngier
2016-01-08  8:56     ` Marc Zyngier
2016-01-11  1:36     ` Shannon Zhao
2016-01-11  1:36       ` Shannon Zhao
2016-01-11  1:36       ` Shannon Zhao
2016-01-10 19:45 ` Christoffer Dall
2016-01-10 19:45   ` Christoffer Dall
2016-01-11 10:06   ` Marc Zyngier
2016-01-11 10:06     ` Marc Zyngier
2016-01-12 18:23 ` Andrew Jones
2016-01-12 18:23   ` Andrew Jones
2016-01-12 18:44   ` Marc Zyngier
2016-01-12 18:44     ` Marc Zyngier
2016-01-12 19:13     ` Andrew Jones [this message]
2016-01-12 19:13       ` Andrew Jones

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=20160112191335.GB5795@hawk.localdomain \
    --to=drjones@redhat.com \
    --cc=christoffer.dall@linaro.org \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.cs.columbia.edu \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=marc.zyngier@arm.com \
    --cc=peter.maydell@linaro.org \
    --cc=shannon.zhao@linaro.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.