Local storage is currently unusable in sleepable helpers. One of the important use cases of local_storage is to attach security (or performance) contextual information to kernel objects in LSM / tracing programs to be used later in the life-cyle of the object. Sometimes this context can only be gathered from sleepable programs (because it needs accesing __user pointers or helpers like bpf_ima_inode_hash). Allowing local storage to be used from sleepable programs allows such context to be managed with the benefits of local_storage. KP Singh (2): bpf: Allow bpf_local_storage to be used by sleepable programs bpf/selftests: Update local storage selftest for sleepable programs include/linux/bpf_local_storage.h | 5 +++ kernel/bpf/bpf_inode_storage.c | 9 +++- kernel/bpf/bpf_local_storage.c | 43 +++++++++++++++---- kernel/bpf/bpf_task_storage.c | 6 ++- kernel/bpf/verifier.c | 3 ++ net/core/bpf_sk_storage.c | 8 +++- .../bpf/prog_tests/test_local_storage.c | 20 +++------ .../selftests/bpf/progs/local_storage.c | 24 +++-------- 8 files changed, 72 insertions(+), 46 deletions(-) -- 2.33.0.259.gc128427fd7-goog