On Tue, Aug 21, 2018 at 3:02 PM, Daniel Borkmann <dan...@iogearbox.net> wrote: > Currently, it is possible to create a sock hash map with key size > of 0 and have the kernel return a fd back to user space. This is > invalid for hash maps (and kernel also hasn't been tested for zero > key size support in general at this point). Thus, reject such > configuration. > > Fixes: 81110384441a ("bpf: sockmap, add hash map support") > Signed-off-by: Daniel Borkmann <dan...@iogearbox.net> > Acked-by: John Fastabend <john.fastab...@gmail.com>
Acked-by: Song Liu <songliubrav...@fb.com> > --- > kernel/bpf/sockmap.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/kernel/bpf/sockmap.c b/kernel/bpf/sockmap.c > index 98e621a..60ceb0e 100644 > --- a/kernel/bpf/sockmap.c > +++ b/kernel/bpf/sockmap.c > @@ -2140,7 +2140,9 @@ static struct bpf_map *sock_hash_alloc(union bpf_attr > *attr) > return ERR_PTR(-EPERM); > > /* check sanity of attributes */ > - if (attr->max_entries == 0 || attr->value_size != 4 || > + if (attr->max_entries == 0 || > + attr->key_size == 0 || > + attr->value_size != 4 || > attr->map_flags & ~SOCK_CREATE_FLAG_MASK) > return ERR_PTR(-EINVAL); > > -- > 2.9.5 >