diff options
| author | Lorenzo Bianconi <lorenzo@kernel.org> | 2026-04-24 12:00:28 +0300 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2026-04-28 03:40:11 +0300 |
| commit | bde34e84edc8b5571fbde7e941e175a4293ee1eb (patch) | |
| tree | 580b381d9e7406506f17a00c72d38d11066e1544 /include/linux/stackprotector.h | |
| parent | e070aac63b42bf81f4dc565f9f841ff47e6c992f (diff) | |
| download | linux-bde34e84edc8b5571fbde7e941e175a4293ee1eb.tar.xz | |
net: airoha: Do not read uninitialized fragment address in airoha_dev_xmit()
The transmit loop in airoha_dev_xmit() reads fragment address and length
during its final iteration, when the loop index equals
skb_shinfo(skb)->nr_frags, at which point the fragment data is
uninitialized. While these values are never consumed, the read itself is
unsafe and may trigger a page fault. Fix this by avoiding the fragment
read on the last iteration.
Additionally, move the skb pointer from the first to the last used packet
descriptor, so that airoha_qdma_tx_napi_poll() defers freeing the skb
until the final descriptor is processed.
Fixes: 23020f0493270 ("net: airoha: Introduce ethernet support for EN7581 SoC")
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Link: https://patch.msgid.link/20260424-airoha-xmit-fix-read-frag-v1-1-fdc0a83c79e8@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'include/linux/stackprotector.h')
0 files changed, 0 insertions, 0 deletions
