bpf: Temporarily disable atomic operations in BPF arena
authorPuranjay Mohan <puranjay12@gmail.com>
Thu, 14 Mar 2024 17:49:31 +0000 (17:49 +0000)
committerAlexei Starovoitov <ast@kernel.org>
Thu, 14 Mar 2024 19:04:45 +0000 (12:04 -0700)
commit44d79142ede8162fd67bf8ca4ddbda1fbcfa94f1
treeea5ef659bcaa1dc72bb8258baa47b3a9e59fd2db
parente30cef001da259e8df354b813015d0e5acc08740
bpf: Temporarily disable atomic operations in BPF arena

Currently, the x86 JIT handling PROBE_MEM32 tagged accesses is not
equipped to handle atomic accesses into PTR_TO_ARENA, as no PROBE_MEM32
tagging is performed and no handling is enabled for them.

This will lead to unsafety as the offset into arena will dereferenced
directly without turning it into a base + offset access into the arena
region.

Since the changes to the x86 JIT will be fairly involved, for now,
temporarily disallow use of PTR_TO_ARENA as the destination operand for
atomics until support is added to the JIT backend.

Fixes: 2fe99eb0ccf2 ("bpf: Add x86-64 JIT support for PROBE_MEM32 pseudo instructions.")
Reported-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
Signed-off-by: Puranjay Mohan <puranjay12@gmail.com>
Acked-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
Message-ID: <20240314174931.98702-1-puranjay12@gmail.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
kernel/bpf/verifier.c