[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Sat, 8 Aug 2020 09:56:02 -0600
From: David Ahern <dsahern@...il.com>
To: Paul Hollinsky <phollinsky@...technik.com>, netdev@...r.kernel.org
Cc: davem@...emloft.net, kuba@...nel.org, andriin@...com,
ast@...nel.org, bpf@...r.kernel.org, daniel@...earbox.net,
hawk@...nel.org, john.fastabend@...il.com, kafai@...com,
kpsingh@...omium.org, songliubraving@...com, yhs@...com
Subject: Re: [PATCH] xdp: ensure initialization of txq in xdp_buff
On 8/8/20 1:16 AM, Paul Hollinsky wrote:
> xdp->txq was uninitialized and could be used from within a bpf program.
The verifier prevents access to txq except by programs of type
BPF_XDP_DEVMAP and those can not be run via xdp generic. ie., generic
can not access txq.
>
> https://syzkaller.appspot.com/bug?id=a6e53f8e9044ea456ea1636be970518ae6ba7f62
>
> Signed-off-by: Paul Hollinsky <phollinsky@...technik.com>
> ---
> net/core/dev.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/net/core/dev.c b/net/core/dev.c
> index 7df6c9617321..12be8fef8b7e 100644
> --- a/net/core/dev.c
> +++ b/net/core/dev.c
> @@ -4649,6 +4649,8 @@ static u32 netif_receive_generic_xdp(struct sk_buff *skb,
> rxqueue = netif_get_rxqueue(skb);
> xdp->rxq = &rxqueue->xdp_rxq;
>
> + xdp->txq = NULL;
> +
> act = bpf_prog_run_xdp(xdp_prog, xdp);
>
> /* check if bpf_xdp_adjust_head was used */
>
Powered by blists - more mailing lists