All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marc Zyngier <marc.zyngier@arm.com>
To: linux-arm-kernel@lists.infradead.org, kvm@vger.kernel.org,
	kvmarm@lists.cs.columbia.edu
Cc: Russell King <linux@arm.linux.org.uk>,
	Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Keerthy <j-keerthy@ti.com>
Subject: [PATCH v5 33/34] ARM: hyp-stub: Zero r0 on successful stub handling
Date: Mon,  3 Apr 2017 19:38:06 +0100	[thread overview]
Message-ID: <20170403183807.1620-34-marc.zyngier@arm.com> (raw)
In-Reply-To: <20170403183807.1620-1-marc.zyngier@arm.com>

We now return HVC_STUB_ERR when a stub hypercall fails, but we
leave whatever was in r0 on success. Zeroing it on return seems
like a good idea.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
---
 arch/arm/kernel/hyp-stub.S | 2 ++
 arch/arm/kvm/init.S        | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/arch/arm/kernel/hyp-stub.S b/arch/arm/kernel/hyp-stub.S
index 918c64f17128..d8523cc47a54 100644
--- a/arch/arm/kernel/hyp-stub.S
+++ b/arch/arm/kernel/hyp-stub.S
@@ -215,8 +215,10 @@ __hyp_stub_do_trap:
 	beq	__hyp_stub_exit
 
 	ldr	r0, =HVC_STUB_ERR
+	__ERET
 
 __hyp_stub_exit:
+	mov	r0, #0
 	__ERET
 ENDPROC(__hyp_stub_do_trap)
 
diff --git a/arch/arm/kvm/init.S b/arch/arm/kvm/init.S
index 87bcd7ae4552..570ed4a9c261 100644
--- a/arch/arm/kvm/init.S
+++ b/arch/arm/kvm/init.S
@@ -155,8 +155,10 @@ reset:
 	b	exit
 
 1:	ldr	r0, =HVC_STUB_ERR
+	eret
 
 exit:
+	mov	r0, #0
 	eret
 ENDPROC(__kvm_handle_stub_hvc)
 
-- 
2.11.0

WARNING: multiple messages have this Message-ID (diff)
From: marc.zyngier@arm.com (Marc Zyngier)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v5 33/34] ARM: hyp-stub: Zero r0 on successful stub handling
Date: Mon,  3 Apr 2017 19:38:06 +0100	[thread overview]
Message-ID: <20170403183807.1620-34-marc.zyngier@arm.com> (raw)
In-Reply-To: <20170403183807.1620-1-marc.zyngier@arm.com>

We now return HVC_STUB_ERR when a stub hypercall fails, but we
leave whatever was in r0 on success. Zeroing it on return seems
like a good idea.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
---
 arch/arm/kernel/hyp-stub.S | 2 ++
 arch/arm/kvm/init.S        | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/arch/arm/kernel/hyp-stub.S b/arch/arm/kernel/hyp-stub.S
index 918c64f17128..d8523cc47a54 100644
--- a/arch/arm/kernel/hyp-stub.S
+++ b/arch/arm/kernel/hyp-stub.S
@@ -215,8 +215,10 @@ __hyp_stub_do_trap:
 	beq	__hyp_stub_exit
 
 	ldr	r0, =HVC_STUB_ERR
+	__ERET
 
 __hyp_stub_exit:
+	mov	r0, #0
 	__ERET
 ENDPROC(__hyp_stub_do_trap)
 
diff --git a/arch/arm/kvm/init.S b/arch/arm/kvm/init.S
index 87bcd7ae4552..570ed4a9c261 100644
--- a/arch/arm/kvm/init.S
+++ b/arch/arm/kvm/init.S
@@ -155,8 +155,10 @@ reset:
 	b	exit
 
 1:	ldr	r0, =HVC_STUB_ERR
+	eret
 
 exit:
+	mov	r0, #0
 	eret
 ENDPROC(__kvm_handle_stub_hvc)
 
-- 
2.11.0

  parent reply	other threads:[~2017-04-03 18:38 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-03 18:37 [PATCH v5 00/34] arm/arm64: KVM: Rework the hyp-stub API Marc Zyngier
2017-04-03 18:37 ` Marc Zyngier
2017-04-03 18:37 ` [PATCH v5 01/34] arm64: hyp-stub: Stop pointlessly clobbering lr Marc Zyngier
2017-04-03 18:37   ` Marc Zyngier
2017-04-03 18:37 ` [PATCH v5 02/34] arm64: KVM: Move lr save/restore to do_el2_call Marc Zyngier
2017-04-03 18:37   ` Marc Zyngier
2017-04-03 18:37 ` [PATCH v5 03/34] arm64: hyp-stub: Don't save lr in the EL1 code Marc Zyngier
2017-04-03 18:37   ` Marc Zyngier
2017-04-03 18:37 ` [PATCH v5 04/34] arm64: hyp-stub: Define a return value for failed stub calls Marc Zyngier
2017-04-03 18:37   ` Marc Zyngier
2017-04-03 18:37 ` [PATCH v5 05/34] arm64: hyp-stub: Update documentation in asm/virt.h Marc Zyngier
2017-04-03 18:37   ` Marc Zyngier
2017-04-03 18:37 ` [PATCH v5 06/34] arm64: hyp-stub: Implement HVC_RESET_VECTORS stub hypercall Marc Zyngier
2017-04-03 18:37   ` Marc Zyngier
2017-04-03 18:37 ` [PATCH v5 07/34] arm64: KVM: Implement HVC_RESET_VECTORS stub hypercall in the init code Marc Zyngier
2017-04-03 18:37   ` Marc Zyngier
2017-04-03 18:37 ` [PATCH v5 08/34] arm64: KVM: Implement HVC_GET_VECTORS " Marc Zyngier
2017-04-03 18:37   ` Marc Zyngier
2017-04-03 18:37 ` [PATCH v5 09/34] arm64: KVM: Allow the main HYP code to use the init hyp stub implementation Marc Zyngier
2017-04-03 18:37   ` Marc Zyngier
2017-04-03 18:37 ` [PATCH v5 10/34] arm64: KVM: Convert __cpu_reset_hyp_mode to using __hyp_reset_vectors Marc Zyngier
2017-04-03 18:37   ` Marc Zyngier
2017-04-03 18:37 ` [PATCH v5 11/34] arm64: KVM: Implement HVC_SOFT_RESTART in the init code Marc Zyngier
2017-04-03 18:37   ` Marc Zyngier
2017-04-03 18:37 ` [PATCH v5 12/34] ARM: hyp-stub: improve ABI Marc Zyngier
2017-04-03 18:37   ` Marc Zyngier
2017-04-03 18:37 ` [PATCH v5 13/34] ARM: soft-reboot into same mode that we entered the kernel Marc Zyngier
2017-04-03 18:37   ` Marc Zyngier
2017-04-03 18:37 ` [PATCH v5 14/34] ARM: KVM: Convert KVM to use HVC_GET_VECTORS Marc Zyngier
2017-04-03 18:37   ` Marc Zyngier
2017-04-03 18:37 ` [PATCH v5 15/34] ARM: Update cpu_v7_reset documentation Marc Zyngier
2017-04-03 18:37   ` Marc Zyngier
2017-04-03 18:37 ` [PATCH v5 16/34] ARM: hyp-stub: Use r1 for the soft-restart address Marc Zyngier
2017-04-03 18:37   ` Marc Zyngier
2017-04-03 18:37 ` [PATCH v5 17/34] ARM: Expose the VA/IDMAP offset Marc Zyngier
2017-04-03 18:37   ` Marc Zyngier
2017-04-03 18:37 ` [PATCH v5 18/34] ARM: hyp-stub: Define a return value for failed stub calls Marc Zyngier
2017-04-03 18:37   ` Marc Zyngier
2017-04-03 18:37 ` [PATCH v5 19/34] ARM: hyp-stub: Implement HVC_RESET_VECTORS stub hypercall Marc Zyngier
2017-04-03 18:37   ` Marc Zyngier
2017-04-03 18:37 ` [PATCH v5 20/34] ARM: KVM: Implement HVC_RESET_VECTORS stub hypercall in the init code Marc Zyngier
2017-04-03 18:37   ` Marc Zyngier
2017-04-03 18:37 ` [PATCH v5 21/34] ARM: KVM: Implement HVC_GET_VECTORS " Marc Zyngier
2017-04-03 18:37   ` Marc Zyngier
2017-04-03 18:37 ` [PATCH v5 22/34] ARM: KVM: Allow the main HYP code to use the init hyp stub implementation Marc Zyngier
2017-04-03 18:37   ` Marc Zyngier
2017-04-03 18:37 ` [PATCH v5 23/34] ARM: KVM: Convert __cpu_reset_hyp_mode to using __hyp_reset_vectors Marc Zyngier
2017-04-03 18:37   ` Marc Zyngier
2017-04-03 18:37 ` [PATCH v5 24/34] ARM: KVM: Implement HVC_SOFT_RESTART in the init code Marc Zyngier
2017-04-03 18:37   ` Marc Zyngier
2017-04-03 18:37 ` [PATCH v5 25/34] ARM: KVM: Gracefully handle hyp-stubs being restored from under our feet Marc Zyngier
2017-04-03 18:37   ` Marc Zyngier
2017-04-03 18:37 ` [PATCH v5 26/34] arm/arm64: KVM: Use __hyp_reset_vectors() directly Marc Zyngier
2017-04-03 18:37   ` Marc Zyngier
2017-04-03 18:38 ` [PATCH v5 27/34] arm/arm64: KVM: Remove kvm_get_idmap_start Marc Zyngier
2017-04-03 18:38   ` Marc Zyngier
2017-04-03 18:38 ` [PATCH v5 28/34] arm/arm64: KVM: Use HVC_RESET_VECTORS to reinit HYP mode Marc Zyngier
2017-04-03 18:38   ` Marc Zyngier
2017-04-03 18:38 ` [PATCH v5 29/34] ARM: decompressor: Remove __hyp_get_vectors usage Marc Zyngier
2017-04-03 18:38   ` Marc Zyngier
2017-04-03 18:38 ` [PATCH v5 30/34] ARM: hyp-stub/KVM: Kill __hyp_get_vectors Marc Zyngier
2017-04-03 18:38   ` Marc Zyngier
2017-04-03 18:38 ` [PATCH v5 31/34] arm64: " Marc Zyngier
2017-04-03 18:38   ` Marc Zyngier
2017-04-03 18:38 ` [PATCH v5 32/34] arm64: hyp-stub: Zero x0 on successful stub handling Marc Zyngier
2017-04-03 18:38   ` Marc Zyngier
2017-04-03 18:38 ` Marc Zyngier [this message]
2017-04-03 18:38   ` [PATCH v5 33/34] ARM: hyp-stub: Zero r0 " Marc Zyngier
2017-04-03 18:38 ` [PATCH v5 34/34] arm/arm64: Add hyp-stub API documentation Marc Zyngier
2017-04-03 18:38   ` Marc Zyngier
2017-04-04 12:04 ` [PATCH v5 00/34] arm/arm64: KVM: Rework the hyp-stub API Christoffer Dall
2017-04-04 12:04   ` Christoffer Dall

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=20170403183807.1620-34-marc.zyngier@arm.com \
    --to=marc.zyngier@arm.com \
    --cc=ard.biesheuvel@linaro.org \
    --cc=catalin.marinas@arm.com \
    --cc=j-keerthy@ti.com \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.cs.columbia.edu \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux@arm.linux.org.uk \
    /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.