Hi Jakub, On Wed, Oct 16, 2019 at 05:14:01PM -0700, Jakub Kicinski wrote: > On Wed, 16 Oct 2019 14:40:32 +0300, Ilias Apalodimas wrote: > > bpf_xdp_adjust_head() can change the frame boundaries. Account for the > > potential shift properly by calculating the new offset before > > syncing the buffer to the device for XDP_TX > > > > Fixes: ba2b232108d3 ("net: netsec: add XDP support") > > Signed-off-by: Ilias Apalodimas <ilias.apalodi...@linaro.org> > > Reviewed-by: Jakub Kicinski <jakub.kicin...@netronome.com> > > You should target this to the bpf or net tree (appropriate [PATCH xyz] > marking). Although I must admit it's unclear to me as well whether the > driver changes should be picked up by bpf maintainers or Dave :S
My bad i forgot to add the net-next tag. I'd prefer Dave picking that up, since he picked all the XDP-related patches for this driver before. Dave shall i re-send with the proper tag? > > > diff --git a/drivers/net/ethernet/socionext/netsec.c > > b/drivers/net/ethernet/socionext/netsec.c > > index f9e6744d8fd6..41ddd8fff2a7 100644 > > --- a/drivers/net/ethernet/socionext/netsec.c > > +++ b/drivers/net/ethernet/socionext/netsec.c > > @@ -847,8 +847,8 @@ static u32 netsec_xdp_queue_one(struct netsec_priv > > *priv, > > enum dma_data_direction dma_dir = > > page_pool_get_dma_dir(rx_ring->page_pool); > > > > - dma_handle = page_pool_get_dma_addr(page) + > > - NETSEC_RXBUF_HEADROOM; > > + dma_handle = page_pool_get_dma_addr(page) + xdpf->headroom + > > + sizeof(*xdpf); > > very nitpick: I'd personally write addr + sizeof(*xdpf) + xdpf->headroom > since that's the order in which they appear in memory > > But likely not worth reposting for just that :) Isn't sizeof static anyway? If Dave needs a v2 with the proper tag i'll change this as well > > > dma_sync_single_for_device(priv->dev, dma_handle, xdpf->len, > > dma_dir); > > tx_desc.buf_type = TYPE_NETSEC_XDP_TX; > Thanks /Ilias