diff options
| author | Alexei Starovoitov <ast@kernel.org> | 2022-08-09 18:46:12 -0700 |
|---|---|---|
| committer | Alexei Starovoitov <ast@kernel.org> | 2022-08-09 18:46:12 -0700 |
| commit | 46c8229c4317ba8576a206d285a34783390ba6ab (patch) | |
| tree | 8b2a5de71b7b3f5cdbc9972a27724030ea1010d2 /kernel/bpf/hashtab.c | |
| parent | 19f68ed6dc90c93daf7e54d3350ea67fead7cbbf (diff) | |
| parent | de7b9927105bd2afe940c6ad22de6938edd8b1c1 (diff) | |
| download | linux-46c8229c4317ba8576a206d285a34783390ba6ab.tar.gz linux-46c8229c4317ba8576a206d285a34783390ba6ab.tar.bz2 linux-46c8229c4317ba8576a206d285a34783390ba6ab.zip | |
Merge branch 'Don't reinit map value in prealloc_lru_pop'
Kumar Kartikeya Dwivedi says:
====================
Fix for a bug in prealloc_lru_pop spotted while reading the code, then a test +
example that checks whether it is fixed.
Changelog:
----------
v2 -> v3:
v2: https://lore.kernel.org/bpf/20220809140615.21231-1-memxor@gmail.com
* Switch test to use kptr instead of kptr_ref to stabilize test runs
* Fix missing lru_bug__destroy (Yonghong)
* Collect Acks
v1 -> v2:
v1: https://lore.kernel.org/bpf/20220806014603.1771-1-memxor@gmail.com
* Expand commit log to include summary of the discussion with Yonghong
* Make lru_bug selftest serial to not mess up refcount for map_kptr test
====================
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'kernel/bpf/hashtab.c')
| -rw-r--r-- | kernel/bpf/hashtab.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/kernel/bpf/hashtab.c b/kernel/bpf/hashtab.c index da7578426a46..4d793a92301b 100644 --- a/kernel/bpf/hashtab.c +++ b/kernel/bpf/hashtab.c @@ -311,12 +311,8 @@ static struct htab_elem *prealloc_lru_pop(struct bpf_htab *htab, void *key, struct htab_elem *l; if (node) { - u32 key_size = htab->map.key_size; - l = container_of(node, struct htab_elem, lru_node); - memcpy(l->key, key, key_size); - check_and_init_map_value(&htab->map, - l->key + round_up(key_size, 8)); + memcpy(l->key, key, htab->map.key_size); return l; } |
