linux-stable/drivers/net/ethernet
David Arinzon 36a1ca01f0 net: ena: Set tx_info->xdpf value to NULL
The patch mentioned in the `Fixes` tag removed the explicit assignment
of tx_info->xdpf to NULL with the justification that there's no need
to set tx_info->xdpf to NULL and tx_info->num_of_bufs to 0 in case
of a mapping error. Both values won't be used once the mapping function
returns an error, and their values would be overridden by the next
transmitted packet.

While both values do indeed get overridden in the next transmission
call, the value of tx_info->xdpf is also used to check whether a TX
descriptor's transmission has been completed (i.e. a completion for it
was polled).

An example scenario:
1. Mapping failed, tx_info->xdpf wasn't set to NULL
2. A VF reset occurred leading to IO resource destruction and
   a call to ena_free_tx_bufs() function
3. Although the descriptor whose mapping failed was freed by the
   transmission function, it still passes the check
     if (!tx_info->skb)

   (skb and xdp_frame are in a union)
4. The xdp_frame associated with the descriptor is freed twice

This patch returns the assignment of NULL to tx_info->xdpf to make the
cleaning function knows that the descriptor is already freed.

Fixes: 504fd6a539 ("net: ena: fix DMA mapping function issues in XDP")
Signed-off-by: Shay Agroskin <shayagr@amazon.com>
Signed-off-by: David Arinzon <darinzon@amazon.com>
Reviewed-by: Shannon Nelson <shannon.nelson@amd.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-04-11 11:21:02 +02:00
..
3com
8390 net: fill in MODULE_DESCRIPTION()s for 8390 2024-01-24 15:12:20 -08:00
actions
adaptec
adi Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-02-29 14:24:56 -08:00
aeroflex
agere
alacritech
allwinner
alteon
altera
amazon net: ena: Set tx_info->xdpf value to NULL 2024-04-11 11:21:02 +02:00
amd pds_core: Fix pdsc_check_pci_health function to use work thread 2024-04-10 08:30:10 +01:00
apm
apple powerpc/macio: Make remove callback of macio driver void returned 2024-03-07 23:06:19 +11:00
aquantia net: atlantic: convert EEE handling to use linkmode bitmaps 2024-02-09 12:55:46 -08:00
arc
asix
atheros
broadcom bnxt_en: Reset PTP tx_avail after possible firmware reset 2024-04-08 13:55:47 +01:00
brocade bnad: fix work_queue type mismatch 2024-02-14 12:49:47 +00:00
cadence
calxeda
cavium net: fill in MODULE_DESCRIPTION()s for liquidio 2024-01-24 15:12:20 -08:00
chelsio Thermal control updates for 6.9-rc1 2024-03-13 12:03:57 -07:00
cirrus net: fill in MODULE_DESCRIPTION()s for ep93xxx_eth 2024-01-24 15:12:20 -08:00
cisco Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-02-22 15:29:26 -08:00
cortina
davicom
dec
dlink
emulex
engleder Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-02-08 15:30:33 -08:00
ezchip net: fill in MODULE_DESCRIPTION()s for nps_enet 2024-01-24 15:12:20 -08:00
faraday
freescale net: fec: Set mac_managed_pm during probe 2024-04-03 19:20:26 -07:00
fujitsu
fungible
google net: introduce page_frag_cache_drain() 2024-03-05 11:38:14 +01:00
hisilicon net: hns3: mark unexcuted loopback test result as UNEXECUTED 2024-03-26 15:32:39 +01:00
huawei
i825xx net/sun3_82586: Avoid reading past buffer in debug output 2024-02-08 18:41:10 -08:00
ibm
intel idpf: fix kernel panic on unknown packet types 2024-04-03 13:07:28 -07:00
litex net: fill in MODULE_DESCRIPTION()s for litex 2024-01-24 15:12:21 -08:00
marvell octeontx2-af: Fix NIX SQ mode and BP config 2024-04-09 11:59:42 +02:00
mediatek net: ethernet: mtk_eth_soc: fix PPE hanging issue 2024-03-15 14:03:45 +00:00
mellanox net/mlx5: fix possible stack overflows 2024-04-10 19:56:12 -07:00
micrel net: ks8851: Handle softirqs at the end of IRQ thread to fix hang 2024-04-08 19:48:48 -07:00
microchip net: sparx5: fix wrong config being used when reconfiguring PCS 2024-04-11 08:30:24 +02:00
microsoft net: mana: Fix Rx DMA datasize and skb_over_panic 2024-04-03 19:32:03 -07:00
moxa
mscc net: ocelot: update the MODULE_DESCRIPTION() 2024-02-05 12:35:18 +00:00
myricom
natsemi
neterion
netronome Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-03-11 20:38:36 -07:00
ni
nvidia net: remove stale mentions of dev_base_lock in comments 2024-02-14 11:20:13 +00:00
nxp
oki-semi
packetengines
pasemi
pensando ionic: keep stats struct local to error handling 2024-03-08 11:54:35 +00:00
qlogic net: adopt skb_network_offset() and similar helpers 2024-03-04 08:47:06 +00:00
qualcomm TTY/Serial driver update for 6.9-rc1 2024-03-21 12:44:10 -07:00
rdc
realtek r8169: add missing conditional compiling for call to r8169_remove_leds 2024-04-10 18:59:31 -07:00
renesas Including fixes from netfilter, bluetooth and bpf. 2024-04-04 14:49:10 -07:00
rocker rocker: Don't bother filling in ethtool driver version 2024-02-23 18:03:53 -08:00
samsung net: sxgbe: remove eee_enabled/eee_active in sxgbe_get_eee() 2024-02-07 09:03:37 -08:00
seeq
sfc net: introduce include/net/rps.h 2024-03-07 21:12:43 -08:00
sgi
silan
sis
smsc net: fill in MODULE_DESCRIPTION()s for SMSC drivers 2024-01-29 12:12:51 +00:00
socionext
stmicro net: stmmac: mmc_core: Add GMAC mmc tx/rx missing statistics 2024-04-08 15:19:50 +01:00
sun - Kuan-Wei Chiu has developed the well-named series "lib min_heap: Min 2024-03-14 18:03:09 -07:00
sunplus
synopsys
tehuti
ti Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-03-07 10:29:36 -08:00
toshiba Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-02-29 14:24:56 -08:00
tundra
vertexcom net: vertexcom: mse102x: Follow renaming of SPI "master" to "controller" 2024-02-08 11:54:46 +00:00
via
wangxun net: txgbe: fix i2c dev name cannot match clkdev 2024-04-03 19:21:04 -07:00
wiznet ethernet: wiznet: Use devm_platform_get_and_ioremap_resource() in w5300_hw_probe() 2024-02-09 12:27:36 -08:00
xilinx net: ll_temac: platform_get_resource replaced by wrong function 2024-03-25 19:46:56 -07:00
xircom xirc2ps_cs: remove redundant assignment to variable okay, clean up freespace 2024-02-08 19:04:28 -08:00
xscale
dnet.c
dnet.h
ec_bhf.c net: fill in MODULE_DESCRIPTION()s for ec_bhf 2024-01-29 12:12:51 +00:00
ethoc.c
fealnx.c
jme.c
jme.h
Kconfig net: ethernet: remove duplicated CONFIG_SUNGEM_PHY entry 2024-02-07 13:17:51 +00:00
korina.c
lantiq_etop.c
lantiq_xrx200.c
Makefile