Messages in this thread | | | From | Toke Høiland-Jørgensen <> | Subject | Re: [PATCH v4 1/2] ath9k: fix use-after-free in ath9k_hif_usb_rx_cb | Date | Tue, 17 May 2022 12:13:58 +0200 |
| |
Pavel Skripkin <paskripkin@gmail.com> writes:
> Syzbot reported use-after-free Read in ath9k_hif_usb_rx_cb() [0]. The > problem was in incorrect htc_handle->drv_priv initialization. > > Probable call trace which can trigger use-after-free: > > ath9k_htc_probe_device() > /* htc_handle->drv_priv = priv; */ > ath9k_htc_wait_for_target() <--- Failed > ieee80211_free_hw() <--- priv pointer is freed > > <IRQ> > ... > ath9k_hif_usb_rx_cb() > ath9k_hif_usb_rx_stream() > RX_STAT_INC() <--- htc_handle->drv_priv access > > In order to not add fancy protection for drv_priv we can move > htc_handle->drv_priv initialization at the end of the > ath9k_htc_probe_device() and add helper macro to make > all *_STAT_* macros NULL save, since syzbot has reported related NULL
s/save/safe here as well :)
-Toke
| |