> -----Original Message----- > From: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> > Sent: Friday, September 8, 2023 4:58 PM > To: netdev@xxxxxxxxxxxxxxx; bpf@xxxxxxxxxxxxxxx > Cc: David S. Miller <davem@xxxxxxxxxxxxx>; Alexei Starovoitov > <ast@xxxxxxxxxx>; Daniel Borkmann <daniel@xxxxxxxxxxxxx>; Eric Dumazet > <edumazet@xxxxxxxxxx>; Jakub Kicinski <kuba@xxxxxxxxxx>; Jesper > Dangaard Brouer <hawk@xxxxxxxxxx>; John Fastabend > <john.fastabend@xxxxxxxxx>; Paolo Abeni <pabeni@xxxxxxxxxx>; Thomas > Gleixner <tglx@xxxxxxxxxxxxx>; Sebastian Andrzej Siewior > <bigeasy@xxxxxxxxxxxxx>; Kiyanovski, Arthur <akiyano@xxxxxxxxxx>; > Arinzon, David <darinzon@xxxxxxxxxx>; Dagan, Noam > <ndagan@xxxxxxxxxx>; Bshara, Saeed <saeedb@xxxxxxxxxx>; Agroskin, > Shay <shayagr@xxxxxxxxxx> > Subject: [EXTERNAL] [PATCH net 1/4] net: ena: Flush XDP packets on error. > > CAUTION: This email originated from outside of the organization. Do not click > links or open attachments unless you can confirm the sender and know the > content is safe. > > > > xdp_do_flush() should be invoked before leaving the NAPI poll function after > a XDP-redirect. This is not the case if the driver leaves via the error path > (after having a redirect in one of its previous iterations). > > Invoke xdp_do_flush() also in the error path. > > Cc: Arthur Kiyanovski <akiyano@xxxxxxxxxx> > Cc: David Arinzon <darinzon@xxxxxxxxxx> > Cc: Noam Dagan <ndagan@xxxxxxxxxx> > Cc: Saeed Bishara <saeedb@xxxxxxxxxx> > Cc: Shay Agroskin <shayagr@xxxxxxxxxx> > Fixes: a318c70ad152b ("net: ena: introduce XDP redirect implementation") > Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> > --- > drivers/net/ethernet/amazon/ena/ena_netdev.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/net/ethernet/amazon/ena/ena_netdev.c > b/drivers/net/ethernet/amazon/ena/ena_netdev.c > index ad32ca81f7ef4..f955bde10cf90 100644 > --- a/drivers/net/ethernet/amazon/ena/ena_netdev.c > +++ b/drivers/net/ethernet/amazon/ena/ena_netdev.c > @@ -1833,6 +1833,9 @@ static int ena_clean_rx_irq(struct ena_ring > *rx_ring, struct napi_struct *napi, > return work_done; > > error: > + if (xdp_flags & ENA_XDP_REDIRECT) > + xdp_do_flush(); > + > adapter = netdev_priv(rx_ring->netdev); > > if (rc == -ENOSPC) { > -- > 2.40.1 > Thanks for submitting this change. Acked-by: Arthur Kiyanovski <akiyano@xxxxxxxxxx>