summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.h
diff options
context:
space:
mode:
authorZheng Wang <zyytlz.wz@163.com>2024-01-07 08:25:04 +0100
committerKalle Valo <kvalo@kernel.org>2024-01-18 15:17:33 +0200
commit0f7352557a35ab7888bc7831411ec8a3cbe20d78 (patch)
tree29ae97b0472c26582c6f5ef1bde41fcb408fb56f /drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.h
parent173b0fb47c3dbd1e489cb449422c1037076a66d7 (diff)
downloadlwn-0f7352557a35ab7888bc7831411ec8a3cbe20d78.tar.gz
lwn-0f7352557a35ab7888bc7831411ec8a3cbe20d78.zip
wifi: brcmfmac: Fix use-after-free bug in brcmf_cfg80211_detach
This is the candidate patch of CVE-2023-47233 : https://nvd.nist.gov/vuln/detail/CVE-2023-47233 In brcm80211 driver,it starts with the following invoking chain to start init a timeout worker: ->brcmf_usb_probe ->brcmf_usb_probe_cb ->brcmf_attach ->brcmf_bus_started ->brcmf_cfg80211_attach ->wl_init_priv ->brcmf_init_escan ->INIT_WORK(&cfg->escan_timeout_work, brcmf_cfg80211_escan_timeout_worker); If we disconnect the USB by hotplug, it will call brcmf_usb_disconnect to make cleanup. The invoking chain is : brcmf_usb_disconnect ->brcmf_usb_disconnect_cb ->brcmf_detach ->brcmf_cfg80211_detach ->kfree(cfg); While the timeout woker may still be running. This will cause a use-after-free bug on cfg in brcmf_cfg80211_escan_timeout_worker. Fix it by deleting the timer and canceling the worker in brcmf_cfg80211_detach. Fixes: e756af5b30b0 ("brcmfmac: add e-scan support.") Signed-off-by: Zheng Wang <zyytlz.wz@163.com> Cc: stable@vger.kernel.org [arend.vanspriel@broadcom.com: keep timer delete as is and cancel work just before free] Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com> Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://msgid.link/20240107072504.392713-1-arend.vanspriel@broadcom.com
Diffstat (limited to 'drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.h')
0 files changed, 0 insertions, 0 deletions