From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kraus, NechamaX Date: Sun, 21 Nov 2021 12:32:13 +0200 Subject: [Intel-wired-lan] [PATCH net-next 1/2] igc: AF_XDP zero-copy metadata adjust breaks SKBs on XDP_PASS In-Reply-To: <163700858579.565980.15265721798644582439.stgit@firesoul> References: <163700856423.565980.10162564921347693758.stgit@firesoul> <163700858579.565980.15265721798644582439.stgit@firesoul> Message-ID: <3e47fd8d-b725-8a52-d1ff-363a7194061c@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: intel-wired-lan@osuosl.org List-ID: On 11/15/2021 22:36, Jesper Dangaard Brouer wrote: > Driver already implicitly supports XDP metadata access in AF_XDP > zero-copy mode, as xsk_buff_pool's xp_alloc() naturally set xdp_buff > data_meta equal data. > > This works fine for XDP and AF_XDP, but if a BPF-prog adjust via > bpf_xdp_adjust_meta() and choose to call XDP_PASS, then igc function > igc_construct_skb_zc() will construct an invalid SKB packet. The > function correctly include the xdp->data_meta area in the memcpy, but > forgot to pull header to take metasize into account. > > Fixes: fc9df2a0b520 ("igc: Enable RX via AF_XDP zero-copy") > Signed-off-by: Jesper Dangaard Brouer > --- > drivers/net/ethernet/intel/igc/igc_main.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > Tested-by: Nechama Kraus