summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorDavid Verbeiren <david.verbeiren@tessares.net>2020-11-04 12:23:32 +0100
committerAlexei Starovoitov <ast@kernel.org>2020-11-05 19:55:57 -0800
commitd3bec0138bfbe58606fc1d6f57a4cdc1a20218db (patch)
tree76571076544b6d29c768d826d1a1db9744143363 /scripts
parent7c0afcad7507636529e6a5a2a5eef5482619a449 (diff)
downloadlinux-stable-d3bec0138bfbe58606fc1d6f57a4cdc1a20218db.tar.gz
linux-stable-d3bec0138bfbe58606fc1d6f57a4cdc1a20218db.tar.bz2
linux-stable-d3bec0138bfbe58606fc1d6f57a4cdc1a20218db.zip
bpf: Zero-fill re-used per-cpu map element
Zero-fill element values for all other cpus than current, just as when not using prealloc. This is the only way the bpf program can ensure known initial values for all cpus ('onallcpus' cannot be set when coming from the bpf program). The scenario is: bpf program inserts some elements in a per-cpu map, then deletes some (or userspace does). When later adding new elements using bpf_map_update_elem(), the bpf program can only set the value of the new elements for the current cpu. When prealloc is enabled, previously deleted elements are re-used. Without the fix, values for other cpus remain whatever they were when the re-used entry was previously freed. A selftest is added to validate correct operation in above scenario as well as in case of LRU per-cpu map element re-use. Fixes: 6c9059817432 ("bpf: pre-allocate hash map elements") Signed-off-by: David Verbeiren <david.verbeiren@tessares.net> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Acked-by: Matthieu Baerts <matthieu.baerts@tessares.net> Acked-by: Andrii Nakryiko <andrii@kernel.org> Link: https://lore.kernel.org/bpf/20201104112332.15191-1-david.verbeiren@tessares.net
Diffstat (limited to 'scripts')
0 files changed, 0 insertions, 0 deletions