diff options
author | 2024-12-06 19:06:17 +0800 | |
---|---|---|
committer | 2024-12-06 09:14:26 -0800 | |
commit | 532d6b36b2bfac5514426a97a4df8d103d700d43 (patch) | |
tree | f35658f3fae7f2f7450b8ce59b38f7d29e148a15 /scripts/generate_rust_analyzer.py | |
parent | bpf: Handle BPF_EXIST and BPF_NOEXIST for LPM trie (diff) | |
download | wireguard-linux-532d6b36b2bfac5514426a97a4df8d103d700d43.tar.xz wireguard-linux-532d6b36b2bfac5514426a97a4df8d103d700d43.zip |
bpf: Handle in-place update for full LPM trie correctly
When a LPM trie is full, in-place updates of existing elements
incorrectly return -ENOSPC.
Fix this by deferring the check of trie->n_entries. For new insertions,
n_entries must not exceed max_entries. However, in-place updates are
allowed even when the trie is full.
Fixes: b95a5c4db09b ("bpf: add a longest prefix match trie map implementation")
Reviewed-by: Toke Høiland-Jørgensen <toke@redhat.com>
Signed-off-by: Hou Tao <houtao1@huawei.com>
Link: https://lore.kernel.org/r/20241206110622.1161752-5-houtao@huaweicloud.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'scripts/generate_rust_analyzer.py')
0 files changed, 0 insertions, 0 deletions