[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4d6b3140-760e-1964-2bd7-fee94956e683@gmail.com>
Date: Thu, 25 Apr 2019 14:04:52 -0600
From: David Ahern <dsahern@...il.com>
To: Maciej Fijalkowski <maciejromanfijalkowski@...il.com>
Cc: Jesper Dangaard Brouer <brouer@...hat.com>,
"Michael S. Tsirkin" <mst@...hat.com>,
Toshiaki Makita <makita.toshiaki@....ntt.co.jp>,
Toke Høiland-Jørgensen <toke@...e.dk>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
Jason Wang <jasowang@...hat.com>
Subject: Re: virtio_net: suspicious RCU usage with xdp
On 4/25/19 12:54 PM, Maciej Fijalkowski wrote:
>>
>> virtio_net hits this because of:
>> xdp_prog = rcu_dereference(rq->xdp_prog);
>>
>> in its ndo_xdp_xmit. Scanning ndo_xdp_xmit for other nics does not show
>> this same check. Is it really required? If so, why don't other drivers
>> do it?
>
> That was my initial thought as well. Can't we just check that
> vi->xdp_queue_pairs was set in virtnet_xdp_xmit? It is being done just before
> assigning the XDP prog pointers for rqs. Haven't looked at veth though.
>
or change the dereference to just rcu_access_pointer. The xdp_prog is
not needed; it only checks if set.
Powered by blists - more mailing lists