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

From: H.J. Lu
Date: Thu Aug 26 2021 - 13:23:08 EST


On Thu, Aug 26, 2021 at 9:49 AM Borislav Petkov <bp@xxxxxxxxx> 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()"?

clone() doesn't have stack size info which was added to clone3().

> > + * cap to 4 GB.
> > + */
>
> --
> Regards/Gruss,
> Boris.
>
> https://people.kernel.org/tglx/notes-about-netiquette



--
H.J.