Searched hist:c48748aea4f806587813f02219ca0b4910646c5e (Results 1 – 2 of 2) sorted by relevance
/linux/tools/testing/selftests/bpf/progs/ |
H A D | test_spin_lock_fail.c | c48748aea4f806587813f02219ca0b4910646c5e Fri Nov 18 02:56:11 CET 2022 Kumar Kartikeya Dwivedi <memxor@gmail.com> selftests/bpf: Add failure test cases for spin lock pairing
First, ensure that whenever a bpf_spin_lock is present in an allocation, the reg->id is preserved. This won't be true for global variables however, since they have a single map value per map, hence the verifier harcodes it to 0 (so that multiple pseudo ldimm64 insns can yield the same lock object per map at a given offset).
Next, add test cases for all possible combinations (kptr, global, map value, inner map value). Since we lifted restriction on locking in inner maps, also add test cases for them. Currently, each lookup into an inner map gets a fresh reg->id, so even if the reg->map_ptr is same, they will be treated as separate allocations and the incorrect unlock pairing will be rejected.
Signed-off-by: Kumar Kartikeya Dwivedi <memxor@gmail.com> Link: https://lore.kernel.org/r/20221118015614.2013203-22-memxor@gmail.com Signed-off-by: Alexei Starovoitov <ast@kernel.org>
|
/linux/tools/testing/selftests/bpf/prog_tests/ |
H A D | spin_lock.c | diff c48748aea4f806587813f02219ca0b4910646c5e Fri Nov 18 02:56:11 CET 2022 Kumar Kartikeya Dwivedi <memxor@gmail.com> selftests/bpf: Add failure test cases for spin lock pairing
First, ensure that whenever a bpf_spin_lock is present in an allocation, the reg->id is preserved. This won't be true for global variables however, since they have a single map value per map, hence the verifier harcodes it to 0 (so that multiple pseudo ldimm64 insns can yield the same lock object per map at a given offset).
Next, add test cases for all possible combinations (kptr, global, map value, inner map value). Since we lifted restriction on locking in inner maps, also add test cases for them. Currently, each lookup into an inner map gets a fresh reg->id, so even if the reg->map_ptr is same, they will be treated as separate allocations and the incorrect unlock pairing will be rejected.
Signed-off-by: Kumar Kartikeya Dwivedi <memxor@gmail.com> Link: https://lore.kernel.org/r/20221118015614.2013203-22-memxor@gmail.com Signed-off-by: Alexei Starovoitov <ast@kernel.org>
|