On Wed, Apr 22, 2020 at 10:54:45AM -0700, Kees Cook wrote: > On Mon, Apr 20, 2020 at 07:14:42PM -0700, Sami Tolvanen wrote: > > +void scs_release(struct task_struct *tsk) > > +{ > > + void *s; > > + > > + s = __scs_base(tsk); > > + if (!s) > > + return; > > + > > + WARN_ON(scs_corrupted(tsk)); > > + > > I'd like to have task_set_scs(tsk, NULL) retained here, to avoid need to > depend on the released task memory getting scrubbed at a later time. Hmm, doesn't it get zeroed almost immediately by kmem_cache_free() if INIT_ON_FREE_DEFAULT_ON is set? That seems much better than special-casing SCS, as there's a tonne of other useful stuff kicking around in the task_struct and treating this specially feels odd to me. Will