From: Nikita V. Shirokov Date: Wed, 18 Apr 2018 04:42:16 +0000 (-0700) Subject: bpf: make bnxt compatible w/ bpf_xdp_adjust_tail X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=b968e735c79767a3c91217fbae691581aa557d8d;p=linux.git bpf: make bnxt 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 bnxt driver we will just calculate packet's length unconditionally Acked-by: Alexei Starovoitov Signed-off-by: Nikita V. Shirokov Acked-by: Michael Chan Signed-off-by: Daniel Borkmann --- diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c index 1389ab5e05df6..1f0e872d06675 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c @@ -113,10 +113,10 @@ bool bnxt_rx_xdp(struct bnxt *bp, struct bnxt_rx_ring_info *rxr, u16 cons, if (tx_avail != bp->tx_ring_size) *event &= ~BNXT_RX_EVENT; + *len = xdp.data_end - xdp.data; if (orig_data != xdp.data) { offset = xdp.data - xdp.data_hard_start; *data_ptr = xdp.data_hard_start + offset; - *len = xdp.data_end - xdp.data; } switch (act) { case XDP_PASS: