acrn-kernel/drivers/staging/rtl8712
Nam Cao 86b818e249 staging: rtl8712: fix race condition
commit 1422b526fb upstream.

In probe function, request_firmware_nowait() is called to load firmware
asynchronously. At completion of firmware loading, register_netdev() is
called. However, a mutex needed by netdev is initialized after the call
to request_firmware_nowait(). Consequently, it can happen that
register_netdev() is called before the driver is ready.

Move the mutex initialization into r8712_init_drv_sw(), which is called
before request_firmware_nowait().

Reported-by: syzbot+b08315e8cf5a78eed03c@syzkaller.appspotmail.com
Closes: https://lore.kernel.org/linux-staging/000000000000d9d4560601b8e0d7@google.com/T/#u
Fixes: 8c213fa591 ("staging: r8712u: Use asynchronous firmware loading")
Cc: stable <stable@kernel.org>
Signed-off-by: Nam Cao <namcaov@gmail.com>
Link: https://lore.kernel.org/r/20230731110620.116562-1-namcaov@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-09-06 21:27:01 +01:00
..
Kconfig
Makefile
TODO
basic_types.h
drv_types.h
ethernet.h
hal_init.c
ieee80211.c
ieee80211.h
mlme_linux.c
mlme_osdep.h
mp_custom_oid.h
os_intfs.c staging: rtl8712: fix race condition 2023-09-06 21:27:01 +01:00
osdep_intf.h
osdep_service.h
recv_linux.c
recv_osdep.h
rtl871x_cmd.c
rtl871x_cmd.h
rtl871x_debug.h
rtl871x_eeprom.c
rtl871x_eeprom.h
rtl871x_event.h
rtl871x_ht.h
rtl871x_io.c
rtl871x_io.h
rtl871x_ioctl.h
rtl871x_ioctl_linux.c
rtl871x_ioctl_rtl.c
rtl871x_ioctl_rtl.h
rtl871x_ioctl_set.c
rtl871x_ioctl_set.h
rtl871x_led.h
rtl871x_mlme.c
rtl871x_mlme.h
rtl871x_mp.c
rtl871x_mp.h
rtl871x_mp_ioctl.c
rtl871x_mp_ioctl.h
rtl871x_mp_phy_regdef.h
rtl871x_pwrctrl.c
rtl871x_pwrctrl.h
rtl871x_recv.c
rtl871x_recv.h
rtl871x_rf.h
rtl871x_security.c
rtl871x_security.h
rtl871x_sta_mgt.c
rtl871x_wlan_sme.h
rtl871x_xmit.c staging: r8712: Fix memory leak in _r8712_init_xmit_priv() 2023-08-03 10:24:11 +02:00
rtl871x_xmit.h
rtl8712_bitdef.h
rtl8712_cmd.c staging: rtl8712: fix use after free bugs 2022-08-30 17:15:16 +02:00
rtl8712_cmd.h
rtl8712_cmdctrl_bitdef.h
rtl8712_cmdctrl_regdef.h
rtl8712_debugctrl_bitdef.h
rtl8712_debugctrl_regdef.h
rtl8712_edcasetting_bitdef.h
rtl8712_edcasetting_regdef.h
rtl8712_efuse.c
rtl8712_efuse.h
rtl8712_event.h
rtl8712_fifoctrl_bitdef.h
rtl8712_fifoctrl_regdef.h
rtl8712_gp_bitdef.h
rtl8712_gp_regdef.h
rtl8712_hal.h
rtl8712_interrupt_bitdef.h
rtl8712_io.c
rtl8712_led.c
rtl8712_macsetting_bitdef.h
rtl8712_macsetting_regdef.h
rtl8712_powersave_bitdef.h
rtl8712_powersave_regdef.h
rtl8712_ratectrl_bitdef.h
rtl8712_ratectrl_regdef.h
rtl8712_recv.c
rtl8712_recv.h
rtl8712_regdef.h
rtl8712_security_bitdef.h
rtl8712_spec.h
rtl8712_syscfg_bitdef.h
rtl8712_syscfg_regdef.h
rtl8712_timectrl_bitdef.h
rtl8712_timectrl_regdef.h
rtl8712_wmac_bitdef.h
rtl8712_wmac_regdef.h
rtl8712_xmit.c
rtl8712_xmit.h
sta_info.h
usb_halinit.c
usb_intf.c staging: rtl8712: fix race condition 2023-09-06 21:27:01 +01:00
usb_ops.c
usb_ops.h
usb_ops_linux.c
usb_osintf.h
wifi.h
wlan_bssdef.h
xmit_linux.c staging: r8712: Fix memory leak in _r8712_init_xmit_priv() 2023-08-03 10:24:11 +02:00
xmit_osdep.h staging: rtl8712: Fix return type for implementation of ndo_start_xmit 2022-09-09 09:55:24 +02:00