]> git.ipfire.org Git - thirdparty/linux.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)
committerKalle Valo <quic_kvalo@quicinc.com>
Fri, 16 Aug 2024 10:10:47 +0000 (13:10 +0300)
commit94745807f3ebd379f23865e6dab196f220664179
treee370bb661f59c264c5175b3d42d2ba8b5113e9c8
parent6274df2530e35193ebac311d492d276a73162b57
wifi: ath9k_htc: Use __skb_set_length() for resetting urb before resubmit

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
drivers/net/wireless/ath/ath9k/hif_usb.c