Alexei Starovoitov f56407fa6e bpf: Remove bpf_lsm_file_mprotect from sleepable list.
Technically the bpf programs can sleep while attached to bpf_lsm_file_mprotect,
but such programs need to access user memory. So they're in might_fault()
category. Which means they cannot be called from file_mprotect lsm hook that
takes write lock on mm->mmap_lock.
Adjust the test accordingly.

Also add might_fault() to __bpf_prog_enter_sleepable() to catch such deadlocks early.

Fixes: 1e6c62a88215 ("bpf: Introduce sleepable BPF programs")
Fixes: e68a144547fc ("selftests/bpf: Add sleepable tests")
Reported-by: Yonghong Song <yhs@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20200831201651.82447-1-alexei.starovoitov@gmail.com
2020-08-31 23:03:57 +02:00
..
2020-08-25 15:37:41 -07:00
2020-08-07 18:57:24 +02:00
2020-08-28 15:41:30 +02:00
2020-08-28 15:41:30 +02:00
2020-03-13 12:49:52 -07:00
2020-08-28 15:41:30 +02:00
2020-08-28 15:41:30 +02:00
2020-08-28 15:41:30 +02:00
2020-08-28 15:41:30 +02:00