* [RFC v5 49/57] arm64: kvm: Annotate non-standard stack frame functions
[not found] <20200109160300.26150-1-jthierry@redhat.com>
@ 2020-01-09 16:02 ` Julien Thierry
2020-01-09 16:02 ` [RFC v5 52/57] arm64: kernel: " Julien Thierry
1 sibling, 0 replies; 2+ messages in thread
From: Julien Thierry @ 2020-01-09 16:02 UTC (permalink / raw)
To: linux-kernel, linux-arm-kernel
Cc: Marc Zyngier, Julien Thierry, peterz, catalin.marinas,
raphael.gault, jpoimboe, will, kvmarm
From: Raphael Gault <raphael.gault@arm.com>
Both __guest_entry and __guest_exit functions do not setup
a correct stack frame. Because they can be considered as callable
functions, even if they are particular cases, we chose to silence
the warnings given by objtool by annotating them as non-standard.
Signed-off-by: Raphael Gault <raphael.gault@arm.com>
Signed-off-by: Julien Thierry <jthierry@redhat.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: James Morse <james.morse@arm.com>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: kvmarm@lists.cs.columbia.edu
---
arch/arm64/kvm/hyp/entry.S | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/arm64/kvm/hyp/entry.S b/arch/arm64/kvm/hyp/entry.S
index e5cc8d66bf53..c3443bfd0944 100644
--- a/arch/arm64/kvm/hyp/entry.S
+++ b/arch/arm64/kvm/hyp/entry.S
@@ -15,6 +15,7 @@
#include <asm/kvm_asm.h>
#include <asm/kvm_mmu.h>
#include <asm/kvm_ptrauth.h>
+#include <linux/frame.h>
#define CPU_GP_REG_OFFSET(x) (CPU_GP_REGS + x)
#define CPU_XREG_OFFSET(x) CPU_GP_REG_OFFSET(CPU_USER_PT_REGS + 8*x)
@@ -97,6 +98,7 @@ alternative_else_nop_endif
eret
sb
ENDPROC(__guest_enter)
+asm_stack_frame_non_standard __guest_enter
ENTRY(__guest_exit)
// x0: return code
@@ -193,3 +195,4 @@ abort_guest_exit_end:
orr x0, x0, x5
1: ret
ENDPROC(__guest_exit)
+asm_stack_frame_non_standard __guest_exit
--
2.21.0
_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [RFC v5 52/57] arm64: kernel: Annotate non-standard stack frame functions
[not found] <20200109160300.26150-1-jthierry@redhat.com>
2020-01-09 16:02 ` [RFC v5 49/57] arm64: kvm: Annotate non-standard stack frame functions Julien Thierry
@ 2020-01-09 16:02 ` Julien Thierry
1 sibling, 0 replies; 2+ messages in thread
From: Julien Thierry @ 2020-01-09 16:02 UTC (permalink / raw)
To: linux-kernel, linux-arm-kernel
Cc: Marc Zyngier, Julien Thierry, peterz, catalin.marinas,
raphael.gault, jpoimboe, will, kvmarm
From: Raphael Gault <raphael.gault@arm.com>
Annotate assembler functions which are callable but do not
setup a correct stack frame.
Signed-off-by: Raphael Gault <raphael.gault@arm.com>
Signed-off-by: Julien Thierry <jthierry@redhat.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: James Morse <james.morse@arm.com>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: kvmarm@lists.cs.columbia.edu
---
arch/arm64/kernel/hyp-stub.S | 3 +++
arch/arm64/kvm/hyp-init.S | 3 +++
2 files changed, 6 insertions(+)
diff --git a/arch/arm64/kernel/hyp-stub.S b/arch/arm64/kernel/hyp-stub.S
index 73d46070b315..8917d42f38c7 100644
--- a/arch/arm64/kernel/hyp-stub.S
+++ b/arch/arm64/kernel/hyp-stub.S
@@ -6,6 +6,7 @@
* Author: Marc Zyngier <marc.zyngier@arm.com>
*/
+#include <linux/frame.h>
#include <linux/init.h>
#include <linux/linkage.h>
#include <linux/irqchip/arm-gic-v3.h>
@@ -42,6 +43,7 @@ ENTRY(__hyp_stub_vectors)
ventry el1_fiq_invalid // FIQ 32-bit EL1
ventry el1_error_invalid // Error 32-bit EL1
ENDPROC(__hyp_stub_vectors)
+asm_stack_frame_non_standard __hyp_stub_vectors
.align 11
@@ -69,6 +71,7 @@ el1_sync:
9: mov x0, xzr
eret
ENDPROC(el1_sync)
+asm_stack_frame_non_standard el1_sync
.macro invalid_vector label
\label:
diff --git a/arch/arm64/kvm/hyp-init.S b/arch/arm64/kvm/hyp-init.S
index 160be2b4696d..63deea39313d 100644
--- a/arch/arm64/kvm/hyp-init.S
+++ b/arch/arm64/kvm/hyp-init.S
@@ -12,6 +12,7 @@
#include <asm/pgtable-hwdef.h>
#include <asm/sysreg.h>
#include <asm/virt.h>
+#include <linux/frame.h>
.text
.pushsection .hyp.idmap.text, "ax"
@@ -118,6 +119,7 @@ CPU_BE( orr x4, x4, #SCTLR_ELx_EE)
/* Hello, World! */
eret
ENDPROC(__kvm_hyp_init)
+asm_stack_frame_non_standard __kvm_hyp_init
ENTRY(__kvm_handle_stub_hvc)
cmp x0, #HVC_SOFT_RESTART
@@ -159,6 +161,7 @@ reset:
eret
ENDPROC(__kvm_handle_stub_hvc)
+asm_stack_frame_non_standard __kvm_handle_stub_hvc
.ltorg
--
2.21.0
_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-01-09 16:23 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <20200109160300.26150-1-jthierry@redhat.com>
2020-01-09 16:02 ` [RFC v5 49/57] arm64: kvm: Annotate non-standard stack frame functions Julien Thierry
2020-01-09 16:02 ` [RFC v5 52/57] arm64: kernel: " Julien Thierry
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).