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 <phollin...@holtechnik.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 */
> 

Reply via email to