From 95099d4622f8cb224d94e314c7a8e0df60b13f87 Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Sat, 09 Dec 2023 08:38:01 +0000
Subject: [PATCH] enable docker ppp
---
kernel/arch/arm64/include/asm/scs.h | 36 ++++++++++++++----------------------
1 files changed, 14 insertions(+), 22 deletions(-)
diff --git a/kernel/arch/arm64/include/asm/scs.h b/kernel/arch/arm64/include/asm/scs.h
index c50d2b0..eaa2cd9 100644
--- a/kernel/arch/arm64/include/asm/scs.h
+++ b/kernel/arch/arm64/include/asm/scs.h
@@ -2,34 +2,26 @@
#ifndef _ASM_SCS_H
#define _ASM_SCS_H
-#ifndef __ASSEMBLY__
+#ifdef __ASSEMBLY__
-#include <linux/scs.h>
+#include <asm/asm-offsets.h>
#ifdef CONFIG_SHADOW_CALL_STACK
+ scs_sp .req x18
-extern void scs_init_irq(void);
+ .macro scs_load tsk, tmp
+ ldr scs_sp, [\tsk, #TSK_TI_SCS_SP]
+ .endm
-static __always_inline void scs_save(struct task_struct *tsk)
-{
- void *s;
+ .macro scs_save tsk, tmp
+ str scs_sp, [\tsk, #TSK_TI_SCS_SP]
+ .endm
+#else
+ .macro scs_load tsk, tmp
+ .endm
- asm volatile("mov %0, x18" : "=r" (s));
- task_set_scs(tsk, s);
-}
-
-static inline void scs_overflow_check(struct task_struct *tsk)
-{
- if (unlikely(scs_corrupted(tsk)))
- panic("corrupted shadow stack detected inside scheduler\n");
-}
-
-#else /* CONFIG_SHADOW_CALL_STACK */
-
-static inline void scs_init_irq(void) {}
-static inline void scs_save(struct task_struct *tsk) {}
-static inline void scs_overflow_check(struct task_struct *tsk) {}
-
+ .macro scs_save tsk, tmp
+ .endm
#endif /* CONFIG_SHADOW_CALL_STACK */
#endif /* __ASSEMBLY __ */
--
Gitblit v1.6.2