mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-24 05:04:00 +08:00
nfp: fix potential use after free on xdp prog
We should unregister the net_device first, before we give back
our reference on xdp_prog. Otherwise xdp_prog may be freed
before .ndo_stop() disabled the datapath. Found by code inspection.
Fixes: ecd63a0217
("nfp: add XDP support in the driver")
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: Simon Horman <simon.horman@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
2d2517ee31
commit
c383bdd14f
@ -3275,9 +3275,10 @@ void nfp_net_netdev_clean(struct net_device *netdev)
|
||||
{
|
||||
struct nfp_net *nn = netdev_priv(netdev);
|
||||
|
||||
unregister_netdev(nn->netdev);
|
||||
|
||||
if (nn->xdp_prog)
|
||||
bpf_prog_put(nn->xdp_prog);
|
||||
if (nn->bpf_offload_xdp)
|
||||
nfp_net_xdp_offload(nn, NULL);
|
||||
unregister_netdev(nn->netdev);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user