[PATCH bpf v3 0/2] disable private stack for sleepable programs
Christian Simon <[email protected]>
| Newsgroups | org.kernel.vger.bpf,org.kernel.vger.stable |
|---|---|
| Message-ID | <[email protected]> |
A JITed BPF program can use one private stack per program and CPU. Sleepable programs can be preempted, allowing another task to run the same program on the same CPU. The second invocation then reuses and can overwrite the first invocation's private stack. This patch series disables private stacks for sleepable programs and adds a selftest covering that stack corruption. --- Changes in v3: - Target sleepable only. - Add the powerpc Fixes tag. - Split fix and selftests v2: https://lore.kernel.org/bpf/[email protected]/ Christian Simon (2): bpf: disable private stack for sleepable programs selftests/bpf: verify preemptible uprobes avoid private stack kernel/bpf/verifier.c | 9 + .../bpf/prog_tests/uprobe_sleepable_stack.c | 165 ++++++++++++++++++ .../bpf/progs/uprobe_sleepable_stack.c | 89 ++++++++++ 3 files changed, 263 insertions(+) create mode 100644 tools/testing/selftests/bpf/prog_tests/uprobe_sleepable_stack.c create mode 100644 tools/testing/selftests/bpf/progs/uprobe_sleepable_stack.c base-commit: 75b0a6db4300e4c2c9e97a0848deaa7acfb42fb7 -- 2.54.0