]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
io_uring/bpf-ops: restrict ctx access to BPF
authorPavel Begunkov <asml.silence@gmail.com>
Tue, 2 Jun 2026 10:08:25 +0000 (11:08 +0100)
committerJens Axboe <axboe@kernel.dk>
Tue, 2 Jun 2026 17:20:21 +0000 (11:20 -0600)
commitec02fe217fa66d79f8a65e8d28be9295c7f85093
tree2b1b98d57278925e8d811850f106f6e6101b187b
parent29bef9934b2521f787bb15dd1985d4c0d12ae02a
io_uring/bpf-ops: restrict ctx access to BPF

BPF programs should have no need in looking into struct io_ring_ctx, if
anything, most of such cases would be anti patterns like looking up ring
indices directly via the context.

Replace it with a new empty structure, which is just an alias to struct
io_ring_ctx. It'll create a new BTF type and fail verification if a BPF
program tries to access it (beyond the first byte). It'll also give more
flexibility for the future, and otherwise it can be made aligned with
io_ring_ctx as before with struct groups if ever needed or extended in a
different way.

Fixes: d0e437b76bd3c ("io_uring/bpf-ops: implement loop_step with BPF struct_ops")
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://patch.msgid.link/5f6ca3649e9e0bae8667db4357e28dd00cd07901.1780394491.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
include/linux/io_uring_types.h
io_uring/bpf-ops.c
io_uring/bpf-ops.h
io_uring/loop.c
io_uring/loop.h