On 06/27, Kees Cook wrote: > > void put_seccomp_filter(struct task_struct *tsk) > { > - struct seccomp_filter *orig = tsk->seccomp.filter; > + struct seccomp_filter *orig = smp_load_acquire(&tsk->seccomp.filter); > /* Clean up single-reference branches iteratively. */ > while (orig && atomic_dec_and_test(&orig->usage)) { And this smp_load_acquire() looks unnecessary. atomic_dec_and_test() is a barrier. Oleg.