]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
wifi: ath9k_htc: Use __skb_set_length() for resetting urb before resubmit
authorToke Høiland-Jørgensen <toke@redhat.com>
Mon, 12 Aug 2024 14:24:46 +0000 (16:24 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 17 Oct 2024 13:11:24 +0000 (15:11 +0200)
commit012ae530afa0785102360de452745d33c99a321b
treecc9266a7742a99889c9b3a7b9e8921e85bee517c
parent08a24438fa138773984c91d1fdbf5d2a2d7d8390
wifi: ath9k_htc: Use __skb_set_length() for resetting urb before resubmit

[ Upstream commit 94745807f3ebd379f23865e6dab196f220664179 ]

Syzbot points out that skb_trim() has a sanity check on the existing length of
the skb, which can be uninitialised in some error paths. The intent here is
clearly just to reset the length to zero before resubmitting, so switch to
calling __skb_set_length(skb, 0) directly. In addition, __skb_set_length()
already contains a call to skb_reset_tail_pointer(), so remove the redundant
call.

The syzbot report came from ath9k_hif_usb_reg_in_cb(), but there's a similar
usage of skb_trim() in ath9k_hif_usb_rx_cb(), change both while we're at it.

Reported-by: syzbot+98afa303be379af6cdb2@syzkaller.appspotmail.com
Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://patch.msgid.link/20240812142447.12328-1-toke@toke.dk
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/ath/ath9k/hif_usb.c