From: Alexei Starovoitov <ast@xxxxxxxxxx> As promised during LSFMM here is a reentrant kmalloc. See patches for details. Alexei Starovoitov (6): mm: Rename try_alloc_pages() to alloc_pages_nolock() locking/local_lock: Expose dep_map in local_trylock_t. locking/local_lock: Introduce local_lock_is_locked(). locking/local_lock: Introduce local_lock_irqsave_check() mm: Allow GFP_ACCOUNT and GFP_COMP to be used in alloc_pages_nolock(). slab: Introduce kmalloc_nolock() and kfree_nolock(). include/linux/gfp.h | 8 +- include/linux/kasan.h | 13 +- include/linux/local_lock.h | 15 ++ include/linux/local_lock_internal.h | 36 +++- include/linux/slab.h | 4 + kernel/bpf/syscall.c | 2 +- mm/kasan/common.c | 5 +- mm/memcontrol.c | 60 +++++- mm/page_alloc.c | 21 ++- mm/page_owner.c | 2 +- mm/slab.h | 1 + mm/slub.c | 280 +++++++++++++++++++++++++--- 12 files changed, 396 insertions(+), 51 deletions(-) -- 2.47.1