Search Linux Wireless

Re: [PATCH] wifi: ath9k: delay all of ath9k_wmi_event_tasklet() until init is complete

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Toke Høiland-Jørgensen <toke@xxxxxxx> wrote:

> The ath9k_wmi_event_tasklet() used in ath9k_htc assumes that all the data
> structures have been fully initialised by the time it runs. However, because of
> the order in which things are initialised, this is not guaranteed to be the
> case, because the device is exposed to the USB subsystem before the ath9k driver
> initialisation is completed.
> 
> We already committed a partial fix for this in commit:
> 8b3046abc99e ("ath9k_htc: fix NULL pointer dereference at ath9k_htc_tx_get_packet()")
> 
> However, that commit only aborted the WMI_TXSTATUS_EVENTID command in the event
> tasklet, pairing it with an "initialisation complete" bit in the TX struct. It
> seems syzbot managed to trigger the race for one of the other commands as well,
> so let's just move the existing synchronisation bit to cover the whole
> tasklet (setting it at the end of ath9k_htc_probe_device() instead of inside
> ath9k_tx_init()).
> 
> Link: https://lore.kernel.org/r/ed1d2c66-1193-4c81-9542-d514c29ba8b8.bugreport@xxxxxxxxxxxxxx
> Fixes: 8b3046abc99e ("ath9k_htc: fix NULL pointer dereference at ath9k_htc_tx_get_packet()")
> Reported-by: Ubisectech Sirius <bugreport@xxxxxxxxxxxxxx>
> Signed-off-by: Toke Høiland-Jørgensen <toke@xxxxxxxxxx>
> Signed-off-by: Kalle Valo <quic_kvalo@xxxxxxxxxxx>

Patch applied to ath-next branch of ath.git, thanks.

24355fcb0d4c wifi: ath9k: delay all of ath9k_wmi_event_tasklet() until init is complete

-- 
https://patchwork.kernel.org/project/linux-wireless/patch/20240126140218.1033443-1-toke@xxxxxxx/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches





[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux