From: Nikita V. Shirokov Date: Wed, 18 Apr 2018 04:42:18 +0000 (-0700) Subject: bpf: make netronome nfp compatible w/ bpf_xdp_adjust_tail X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=5a6a22e378244cb3aa0473abc31a5d1c2cb2327b;p=linux.git bpf: make netronome nfp compatible w/ bpf_xdp_adjust_tail w/ bpf_xdp_adjust_tail helper xdp's data_end pointer could be changed as well (only "decrease" of pointer's location is going to be supported). changing of this pointer will change packet's size. for nfp driver we will just calculate packet's length unconditionally Acked-by: Alexei Starovoitov Acked-by: Jakub Kicinski Signed-off-by: Nikita V. Shirokov Signed-off-by: Daniel Borkmann --- diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c index 1eb6549f2a54e..d9111c0776990 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c +++ b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c @@ -1722,7 +1722,7 @@ static int nfp_net_rx(struct nfp_net_rx_ring *rx_ring, int budget) act = bpf_prog_run_xdp(xdp_prog, &xdp); - pkt_len -= xdp.data - orig_data; + pkt_len = xdp.data_end - xdp.data; pkt_off += xdp.data - orig_data; switch (act) {