[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260123055658.372869-1-leon.hwang@linux.dev>
Date: Fri, 23 Jan 2026 13:56:56 +0800
From: Leon Hwang <leon.hwang@...ux.dev>
To: bpf@...r.kernel.org
Cc: Alexei Starovoitov <ast@...nel.org>,
Daniel Borkmann <daniel@...earbox.net>,
John Fastabend <john.fastabend@...il.com>,
Andrii Nakryiko <andrii@...nel.org>,
Martin KaFai Lau <martin.lau@...ux.dev>,
Eduard Zingerman <eddyz87@...il.com>,
Song Liu <song@...nel.org>,
Yonghong Song <yonghong.song@...ux.dev>,
KP Singh <kpsingh@...nel.org>,
Stanislav Fomichev <sdf@...ichev.me>,
Hao Luo <haoluo@...gle.com>,
Jiri Olsa <jolsa@...nel.org>,
Shuah Khan <shuah@...nel.org>,
Leon Hwang <leon.hwang@...ux.dev>,
linux-kernel@...r.kernel.org,
linux-kselftest@...r.kernel.org,
kernel-patches-bot@...com
Subject: [PATCH bpf-next v2 0/2] bpf: Disallow BPF_F_LOCK with mixed special fields
Disallow combining BPF_F_LOCK with map values that mix bpf_spin_lock and
other special BTF fields, which may lead to undefined behavior. Such cases
are now rejected with -EOPNOTSUPP.
Map update flag validation is centralized in
bpf_map_check_op_flags() and reused across array, hash, local-storage,
and task-storage update paths, with selftests added to verify the new
behavior.
Changes:
v1 -> v2:
* Reject any unknown flag bits in map_flags when updating maps (per AI review).
* v1: https://lore.kernel.org/bpf/20260122153120.69249-1-leon.hwang@linux.dev/
Leon Hwang (2):
bpf: Disallow BPF_F_LOCK with mixed special fields and centralize flag
checks
selftests/bpf: Add tests to verify BPF_F_LOCK restrictions
include/linux/bpf.h | 7 ++
kernel/bpf/arraymap.c | 11 ++-
kernel/bpf/bpf_local_storage.c | 7 --
kernel/bpf/bpf_task_storage.c | 3 -
kernel/bpf/hashtab.c | 8 +--
kernel/bpf/syscall.c | 4 +-
.../selftests/bpf/prog_tests/map_lock.c | 70 +++++++++++++++++++
.../selftests/bpf/progs/test_map_lock.c | 31 +++++++-
8 files changed, 117 insertions(+), 24 deletions(-)
--
2.52.0
Powered by blists - more mailing lists