Re: [PATCH v29 25/32] x86/cet/shstk: Handle thread shadow stack

From: Yu, Yu-cheng
Date: Thu Aug 26 2021 - 13:26:14 EST


On 8/26/2021 9:50 AM, Borislav Petkov wrote:
On Fri, Aug 20, 2021 at 11:11:54AM -0700, Yu-cheng Yu wrote:
diff --git a/arch/x86/kernel/shstk.c b/arch/x86/kernel/shstk.c
index 5993aa8db338..7c1ca2476a5e 100644
--- a/arch/x86/kernel/shstk.c
+++ b/arch/x86/kernel/shstk.c
@@ -75,6 +75,61 @@ int shstk_setup(void)
return err;
}
+int shstk_alloc_thread_stack(struct task_struct *tsk, unsigned long clone_flags,
+ unsigned long stack_size)
+{
+ struct thread_shstk *shstk = &tsk->thread.shstk;
+ struct cet_user_state *state;
+ unsigned long addr;
+
+ if (!shstk->size)
+ return 0;
+
+ /*
+ * Earlier clone() does not pass stack_size. Use RLIMIT_STACK and

What is "earlier clone()"? >

I will make it just "clone()".

Thanks,
Yu-cheng