mirror_ubuntu-kernels/drivers/net
Arthur Kiyanovski c255a34e02 net: ena: Fix undefined state when tx request id is out of bounds
ena_com_tx_comp_req_id_get() checks the req_id of a received completion,
and if it is out of bounds returns -EINVAL. This is a sign that
something is wrong with the device and it needs to be reset.

The current code does not reset the device in this case, which leaves
the driver in an undefined state, where this completion is not properly
handled.

This commit adds a call to handle_invalid_req_id() in ena_clean_tx_irq()
and ena_clean_xdp_irq() which resets the device to fix the issue.

This commit also removes unnecessary request id checks from
validate_tx_req_id() and validate_xdp_req_id(). This check is unneeded
because it was already performed in ena_com_tx_comp_req_id_get(), which
is called right before these functions.

Fixes: 548c4940b9 ("net: ena: Implement XDP_TX action")
Signed-off-by: Shay Agroskin <shayagr@amazon.com>
Signed-off-by: Arthur Kiyanovski <akiyano@amazon.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-01-02 12:45:13 +00:00
..
appletalk
arcnet
bonding bonding: fix ad_actor_system option setting to default 2021-12-21 16:54:19 -08:00
caif
can can: kvaser_usb: get CAN clock frequency from device 2021-12-09 09:01:43 +01:00
dsa dsa: mv88e6xxx: fix debug print for SPEED_UNFORCED 2021-12-16 10:57:21 +00:00
ethernet net: ena: Fix undefined state when tx request id is out of bounds 2022-01-02 12:45:13 +00:00
fddi fddi: defza: add missing pointer type cast 2021-10-25 10:28:47 -07:00
fjes fjes: Check for error irq 2021-12-22 10:22:13 +00:00
hamradio hamradio: improve the incomplete fix to avoid NPD 2021-12-18 12:32:48 +00:00
hippi net: hippi: use dev_addr_set() 2021-10-22 10:16:09 -07:00
hyperv hyperv-next for 5.16 2021-11-02 10:56:49 -07:00
ieee802154
ipa net: ipa: kill ipa_cmd_pipeline_clear() 2021-11-23 12:26:40 +00:00
ipvlan
mctp
mdio mdio: aspeed: Fix "Link is Down" issue 2021-11-25 07:44:42 -08:00
netdevsim netdevsim: Zero-initialize memory for new map's value in function nsim_bpf_map_alloc 2021-12-15 17:49:13 -08:00
pcs net: convert users of bitmap_foo() to linkmode_foo() 2021-10-24 13:58:52 +01:00
phy net: phy: fixed_phy: Fix NULL vs IS_ERR() checking in __fixed_phy_register 2021-12-24 14:52:10 -08:00
plip net: plip: use eth_hw_addr_set() 2021-10-22 10:16:14 -07:00
ppp TTY / Serial driver update for 5.16-rc1 2021-11-04 09:09:37 -07:00
slip slip: fix macro redefine warning 2021-11-23 11:38:13 +00:00
team
usb net: usb: pegasus: Do not drop long Ethernet frames 2021-12-27 14:52:06 +00:00
vmxnet3 vmxnet3: fix minimum vectors alloc issue 2021-12-08 17:56:39 -08:00
wan net: hldc_fr: use dev_addr_set() 2021-10-22 10:16:18 -07:00
wireguard wireguard: ratelimiter: use kvcalloc() instead of kvzalloc() 2021-11-29 19:50:50 -08:00
wireless Networking fixes for 5.16-rc6, including fixes from mac80211, wifi, bpf. 2021-12-16 15:02:14 -08:00
wwan net: wwan: iosm: fixes unable to send AT command during mbim tx 2021-12-09 08:10:35 -08:00
xen-netback xen/netback: don't queue unlimited number of packages 2021-12-16 08:43:12 +01:00
amt.c amt: cancel delayed_work synchronously in amt_fini() 2021-11-16 19:14:12 -08:00
bareudp.c net: bareudp: fix duplicate checks of data[] expressions 2021-10-29 13:41:28 +01:00
dummy.c
eql.c
geneve.c
gtp.c
ifb.c ifb: fix building without CONFIG_NET_CLS_ACT 2021-10-29 14:01:11 +01:00
Kconfig vmxnet3: Use generic Kconfig option for page size limit 2021-11-27 14:34:41 -08:00
LICENSE.SRC
loopback.c
macsec.c net: drivers: get ready for const netdev->dev_addr 2021-10-24 13:59:45 +01:00
macvlan.c net: drivers: get ready for const netdev->dev_addr 2021-10-24 13:59:45 +01:00
macvtap.c
Makefile amt: add control plane of amt interface 2021-11-01 13:36:08 +00:00
mdio.c
mhi_net.c
mii.c
net_failover.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c net: sb1000,rionet: use eth_hw_addr_set() 2021-10-22 10:16:16 -07:00
sb1000.c net: sb1000,rionet: use eth_hw_addr_set() 2021-10-22 10:16:16 -07:00
Space.c
sungem_phy.c net: sungem_phy: fix code indentation 2021-11-09 11:45:54 +00:00
tap.c
thunderbolt.c net: thunderbolt: use eth_hw_addr_set() 2021-10-27 17:13:36 -07:00
tun.c tun: avoid double free in tun_free_netdev 2021-12-17 19:21:58 -08:00
veth.c veth: ensure skb entering GRO are not cloned. 2021-12-23 09:44:06 -08:00
virtio_net.c virtio_net: fix rx_drops stat for small pkts 2021-12-16 11:07:19 +00:00
vrf.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf 2021-12-08 17:02:35 -08:00
vsockmon.c
vxlan.c
xen-netfront.c xen/netfront: harden netfront against event channel storms 2021-12-16 08:24:08 +01:00