Searched hist:"184367 dce4f744bde54377203305ccc8889aa79f" (Results 1 – 2 of 2) sorted by relevance
/openbmc/linux/drivers/net/hyperv/ |
H A D | netvsc_bpf.c | diff 184367dce4f744bde54377203305ccc8889aa79f Thu Feb 06 16:01:05 CST 2020 Haiyang Zhang <haiyangz@microsoft.com> hv_netvsc: Fix XDP refcnt for synthetic and VF NICs
The caller of XDP_SETUP_PROG has already incremented refcnt in __bpf_prog_get(), so drivers should only increment refcnt by num_queues - 1.
To fix the issue, update netvsc_xdp_set() to add the correct number to refcnt.
Hold a refcnt in netvsc_xdp_set()’s other caller, netvsc_attach().
And, do the same in netvsc_vf_setxdp(). Otherwise, every time when VF is removed and added from the host side, the refcnt will be decreased by one, which may cause page fault when unloading xdp program.
Fixes: 351e1581395f ("hv_netvsc: Add XDP support") Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|
H A D | netvsc_drv.c | diff 184367dce4f744bde54377203305ccc8889aa79f Thu Feb 06 16:01:05 CST 2020 Haiyang Zhang <haiyangz@microsoft.com> hv_netvsc: Fix XDP refcnt for synthetic and VF NICs
The caller of XDP_SETUP_PROG has already incremented refcnt in __bpf_prog_get(), so drivers should only increment refcnt by num_queues - 1.
To fix the issue, update netvsc_xdp_set() to add the correct number to refcnt.
Hold a refcnt in netvsc_xdp_set()’s other caller, netvsc_attach().
And, do the same in netvsc_vf_setxdp(). Otherwise, every time when VF is removed and added from the host side, the refcnt will be decreased by one, which may cause page fault when unloading xdp program.
Fixes: 351e1581395f ("hv_netvsc: Add XDP support") Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|