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
>

Reply via email to