Blame patches.suse/arm64-hyp-stub-Forbid-kprobing-of-the-hyp-stub.patch
|
Ivan T. Ivanov |
03dcd0 |
From: James Morse <james.morse@arm.com>
|
|
Ivan T. Ivanov |
03dcd0 |
Date: Thu, 24 Jan 2019 16:32:56 +0000
|
|
Ivan T. Ivanov |
03dcd0 |
Subject: arm64: hyp-stub: Forbid kprobing of the hyp-stub
|
|
Ivan T. Ivanov |
03dcd0 |
Git-commit: 8fac5cbdfe0f01254d9d265c6aa1a95f94f58595
|
|
Ivan T. Ivanov |
03dcd0 |
Patch-mainline: v5.0-rc5
|
|
Ivan T. Ivanov |
03dcd0 |
References: git-fixes
|
|
Ivan T. Ivanov |
03dcd0 |
|
|
Ivan T. Ivanov |
03dcd0 |
The hyp-stub is loaded by the kernel's early startup code at EL2
|
|
Ivan T. Ivanov |
03dcd0 |
during boot, before KVM takes ownership later. The hyp-stub's
|
|
Ivan T. Ivanov |
03dcd0 |
text is part of the regular kernel text, meaning it can be kprobed.
|
|
Ivan T. Ivanov |
03dcd0 |
|
|
Ivan T. Ivanov |
03dcd0 |
A breakpoint in the hyp-stub causes the CPU to spin in el2_sync_invalid.
|
|
Ivan T. Ivanov |
03dcd0 |
|
|
Ivan T. Ivanov |
03dcd0 |
Add it to the __hyp_text.
|
|
Ivan T. Ivanov |
03dcd0 |
|
|
Ivan T. Ivanov |
03dcd0 |
Signed-off-by: James Morse <james.morse@arm.com>
|
|
Ivan T. Ivanov |
03dcd0 |
Cc: stable@vger.kernel.org
|
|
Ivan T. Ivanov |
03dcd0 |
Signed-off-by: Will Deacon <will.deacon@arm.com>
|
|
Ivan T. Ivanov |
03dcd0 |
Acked-by: Ivan T. Ivanov <iivanov@suse.de>
|
|
Ivan T. Ivanov |
03dcd0 |
---
|
|
Ivan T. Ivanov |
03dcd0 |
arch/arm64/kernel/hyp-stub.S | 2 ++
|
|
Ivan T. Ivanov |
03dcd0 |
1 file changed, 2 insertions(+)
|
|
Ivan T. Ivanov |
03dcd0 |
|
|
Ivan T. Ivanov |
03dcd0 |
--- a/arch/arm64/kernel/hyp-stub.S
|
|
Ivan T. Ivanov |
03dcd0 |
+++ b/arch/arm64/kernel/hyp-stub.S
|
|
Ivan T. Ivanov |
03dcd0 |
@@ -28,6 +28,8 @@
|
|
Ivan T. Ivanov |
03dcd0 |
#include <asm/virt.h>
|
|
Ivan T. Ivanov |
03dcd0 |
|
|
Ivan T. Ivanov |
03dcd0 |
.text
|
|
Ivan T. Ivanov |
03dcd0 |
+ .pushsection .hyp.text, "ax"
|
|
Ivan T. Ivanov |
03dcd0 |
+
|
|
Ivan T. Ivanov |
03dcd0 |
.align 11
|
|
Ivan T. Ivanov |
03dcd0 |
|
|
Ivan T. Ivanov |
03dcd0 |
ENTRY(__hyp_stub_vectors)
|