On Thu, Jan 11, 2018 at 9:06 AM, Christopher Lameter <cl@xxxxxxxxx> wrote: > On Wed, 10 Jan 2018, Kees Cook wrote: > >> diff --git a/mm/slab.h b/mm/slab.h >> index ad657ffa44e5..7d29e69ac310 100644 >> --- a/mm/slab.h >> +++ b/mm/slab.h >> @@ -526,4 +526,10 @@ static inline int cache_random_seq_create(struct kmem_cache *cachep, >> static inline void cache_random_seq_destroy(struct kmem_cache *cachep) { } >> #endif /* CONFIG_SLAB_FREELIST_RANDOM */ >> >> +#ifdef CONFIG_HARDENED_USERCOPY >> +void __noreturn usercopy_abort(const char *name, const char *detail, >> + bool to_user, unsigned long offset, >> + unsigned long len); >> +#endif >> + >> #endif /* MM_SLAB_H */ > > This code has nothing to do with slab allocation. Move it into > include/linux/uaccess.h where the other user space access definitions are? Since it was only the mm/sl*b.c files using it, it seemed like the right place, but it's a reasonable point. I've moved it now. -Kees -- Kees Cook Pixel Security