Thread (11 messages) 11 messages, 4 authors, 17d ago

Re: [PATCH net v2 1/2] net: ethernet: oa_tc6: Protect skb pointer used by two different kernel instances

From: Jakub Kicinski <kuba@kernel.org>
Date: 2026-06-30 22:46:48
Also in: lkml

On Tue, 30 Jun 2026 04:16:24 +0000 Selvamani Rajagopal wrote:
quoted
On Fri, 26 Jun 2026 08:35:18 -0700 Selvamani Rajagopal via B4 Relay
wrote:  
quoted
Threaded IRQ uses waiting_tx_skb. Transmit path also uses
this pointer without any mutual exclusion protection. As a
result, it might leak skb buffer, particularly threaded IRQ
runs in the middle of tranmsmit path, near skb_linearize.  
Can you say more ? only xmit sets waiting_tx_skb, the IRQ
clears it. So why is IRQ racing with xmit leading to drops?  
I believe xmit path and IRQ thread would run in different kernel
instances. Imagine oa_tc6_try_spi_transfer call fails in threaded
IRQ. It would set disable_irq. If xmit function didn't see that when
it checked, but it is set before placing skb buffer in the
waiting_tx_skb pointer (due to skb_linearize for example), the skb
would be stuck in waiting_tx_skb.
Perhaps, but wouldn't that cause a stall not a leak?

Please do your digging and submit high quality patches which don't
require research. We get 150 patches a day in netdev, and all
maintainers have day jobs (contrary to popular belief)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help