On Wed, Mar 24, 2021 at 3:46 PM Ciara Loftus <ciara.lof...@intel.com> wrote:
>
> Calls to xsk_socket__create dereference the umem to access the
> fill_save and comp_save pointers. Make sure the umem is non-NULL
> before doing this.
>
> Fixes: 2f6324a3937f ("libbpf: Support shared umems between queues and 
> devices")
>
> Signed-off-by: Ciara Loftus <ciara.lof...@intel.com>
> ---
>  tools/lib/bpf/xsk.c | 3 +++
>  1 file changed, 3 insertions(+)

Thank you for the fix!

Acked-by: Magnus Karlsson <magnus.karls...@intel.com>

> diff --git a/tools/lib/bpf/xsk.c b/tools/lib/bpf/xsk.c
> index 526fc35c0b23..443b0cfb45e8 100644
> --- a/tools/lib/bpf/xsk.c
> +++ b/tools/lib/bpf/xsk.c
> @@ -1019,6 +1019,9 @@ int xsk_socket__create(struct xsk_socket **xsk_ptr, 
> const char *ifname,
>                        struct xsk_ring_cons *rx, struct xsk_ring_prod *tx,
>                        const struct xsk_socket_config *usr_config)
>  {
> +       if (!umem)
> +               return -EFAULT;
> +
>         return xsk_socket__create_shared(xsk_ptr, ifname, queue_id, umem,
>                                          rx, tx, umem->fill_save,
>                                          umem->comp_save, usr_config);
> --
> 2.17.1
>

Reply via email to