Thread (5 messages) flat view 5 messages, 3 authors, 2021-11-24

Re: [PATCH net] net: stmmac: Disable Tx queues when reconfiguring the interface

From: Vladimir Oltean <vladimir.oltean@nxp.com>
Date: 2021-11-24 10:06:36

On Tue, Nov 23, 2021 at 08:07:51PM -0800, Jakub Kicinski wrote:
On Tue, 23 Nov 2021 19:54:48 +0100 Yannick Vignon wrote:
quoted
From: Yannick Vignon <redacted>

The Tx queues were not disabled in cases where the driver needed to stop
the interface to apply a new configuration. This could result in a kernel
panic when doing any of the 3 following actions:
* reconfiguring the number of queues (ethtool -L)
* reconfiguring the size of the ring buffers (ethtool -G)
* installing/removing an XDP program (ip l set dev ethX xdp)

Prevent the panic by making sure netif_tx_disable is called when stopping
an interface.

Without this patch, the following kernel panic can be observed when loading
an XDP program:

Unable to handle kernel paging request at virtual address ffff80001238d040
[....]
 Call trace:
  dwmac4_set_addr+0x8/0x10
  dev_hard_start_xmit+0xe4/0x1ac
  sch_direct_xmit+0xe8/0x39c
  __dev_queue_xmit+0x3ec/0xaf0
  dev_queue_xmit+0x14/0x20
[...]
[ end trace 0000000000000002 ]---

Fixes: 78cb988d36b6 ("net: stmmac: Add initial XDP support")
Signed-off-by: Yannick Vignon <redacted>
Fixes tag: Fixes: 78cb988d36b6 ("net: stmmac: Add initial XDP support")
Has these problem(s):
	- Target SHA1 does not exist
You caught him backporting! Although I agree, things sent to the "net"
tree should also be tested against the "net" tree.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help