OSDN Git Service

bpf: Add support for bpf iterator programs to use sleepable helpers
authorKenny Yu <kennyyu@fb.com>
Mon, 24 Jan 2022 18:54:00 +0000 (10:54 -0800)
committerAlexei Starovoitov <ast@kernel.org>
Tue, 25 Jan 2022 03:55:40 +0000 (19:55 -0800)
commitb77fb25dcb342788d72ad7533163c34b8b823a1d
treee2da08693c1dd3f620eb6f53d67e15145a8a63de
parentcaaba96131b3a132590316c49887af85e07930b6
bpf: Add support for bpf iterator programs to use sleepable helpers

This patch allows bpf iterator programs to use sleepable helpers by
changing `bpf_iter_run_prog` to use the appropriate synchronization.
With sleepable bpf iterator programs, we can no longer use
`rcu_read_lock()` and must use `rcu_read_lock_trace()` instead
to protect the bpf program.

Signed-off-by: Kenny Yu <kennyyu@fb.com>
Acked-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/r/20220124185403.468466-2-kennyyu@fb.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
kernel/bpf/bpf_iter.c