Message ID | 1488735668-2296008-1-git-send-email-ast@fb.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
From: Alexei Starovoitov <ast@fb.com> Date: Sun, 5 Mar 2017 09:41:08 -0800 > map_get_next_key callback is mandatory. Supply dummy handler. > > Fixes: b95a5c4db09b ("bpf: add a longest prefix match trie map implementation") > Reported-by: Dmitry Vyukov <dvyukov@google.com> > Signed-off-by: Alexei Starovoitov <ast@kernel.org> Wouldn't it be more appropriate to provide a proper DFS ordered traversal rather than return an error code?
On 3/5/17 10:44 AM, David Miller wrote: > From: Alexei Starovoitov <ast@fb.com> > Date: Sun, 5 Mar 2017 09:41:08 -0800 > >> map_get_next_key callback is mandatory. Supply dummy handler. >> >> Fixes: b95a5c4db09b ("bpf: add a longest prefix match trie map implementation") >> Reported-by: Dmitry Vyukov <dvyukov@google.com> >> Signed-off-by: Alexei Starovoitov <ast@kernel.org> > > Wouldn't it be more appropriate to provide a proper DFS ordered > traversal rather than return an error code? yes. of course. This is quick fix for 'net'. That's why the error code is ENOTSUPP with meaning that it's not supported right now and will be supported in the future.
From: Alexei Starovoitov <ast@fb.com> Date: Sun, 5 Mar 2017 10:58:00 -0800 > On 3/5/17 10:44 AM, David Miller wrote: >> From: Alexei Starovoitov <ast@fb.com> >> Date: Sun, 5 Mar 2017 09:41:08 -0800 >> >>> map_get_next_key callback is mandatory. Supply dummy handler. >>> >>> Fixes: b95a5c4db09b ("bpf: add a longest prefix match trie map >>> implementation") >>> Reported-by: Dmitry Vyukov <dvyukov@google.com> >>> Signed-off-by: Alexei Starovoitov <ast@kernel.org> >> >> Wouldn't it be more appropriate to provide a proper DFS ordered >> traversal rather than return an error code? > > yes. of course. This is quick fix for 'net'. > That's why the error code is ENOTSUPP with meaning that > it's not supported right now and will be supported in the future. Ok, fair enough, applied. Thanks.
On 03/05/2017 06:41 PM, Alexei Starovoitov wrote: > map_get_next_key callback is mandatory. Supply dummy handler. > > Fixes: b95a5c4db09b ("bpf: add a longest prefix match trie map implementation") > Reported-by: Dmitry Vyukov <dvyukov@google.com> > Signed-off-by: Alexei Starovoitov <ast@kernel.org> Acked-by: Daniel Borkmann <daniel@iogearbox.net>
diff --git a/kernel/bpf/lpm_trie.c b/kernel/bpf/lpm_trie.c index 8bfe0afaee10..b37bd9ab7f57 100644 --- a/kernel/bpf/lpm_trie.c +++ b/kernel/bpf/lpm_trie.c @@ -500,9 +500,15 @@ static void trie_free(struct bpf_map *map) raw_spin_unlock(&trie->lock); } +static int trie_get_next_key(struct bpf_map *map, void *key, void *next_key) +{ + return -ENOTSUPP; +} + static const struct bpf_map_ops trie_ops = { .map_alloc = trie_alloc, .map_free = trie_free, + .map_get_next_key = trie_get_next_key, .map_lookup_elem = trie_lookup_elem, .map_update_elem = trie_update_elem, .map_delete_elem = trie_delete_elem,
map_get_next_key callback is mandatory. Supply dummy handler. Fixes: b95a5c4db09b ("bpf: add a longest prefix match trie map implementation") Reported-by: Dmitry Vyukov <dvyukov@google.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org> --- kernel/bpf/lpm_trie.c | 6 ++++++ 1 file changed, 6 insertions(+)