linux/drivers/staging/rtl8712
Wang Cheng 0458e5428e staging: rtl8712: fix uninit-value in r871xu_drv_init()
When 'tmpU1b' returns from r8712_read8(padapter, EE_9346CR) is 0,
'mac[6]' will not be initialized.

BUG: KMSAN: uninit-value in r871xu_drv_init+0x2d54/0x3070 drivers/staging/rtl8712/usb_intf.c:541
 r871xu_drv_init+0x2d54/0x3070 drivers/staging/rtl8712/usb_intf.c:541
 usb_probe_interface+0xf19/0x1600 drivers/usb/core/driver.c:396
 really_probe+0x653/0x14b0 drivers/base/dd.c:596
 __driver_probe_device+0x3e9/0x530 drivers/base/dd.c:752
 driver_probe_device drivers/base/dd.c:782 [inline]
 __device_attach_driver+0x79f/0x1120 drivers/base/dd.c:899
 bus_for_each_drv+0x2d6/0x3f0 drivers/base/bus.c:427
 __device_attach+0x593/0x8e0 drivers/base/dd.c:970
 device_initial_probe+0x4a/0x60 drivers/base/dd.c:1017
 bus_probe_device+0x17b/0x3e0 drivers/base/bus.c:487
 device_add+0x1fff/0x26e0 drivers/base/core.c:3405
 usb_set_configuration+0x37e9/0x3ed0 drivers/usb/core/message.c:2170
 usb_generic_driver_probe+0x13c/0x300 drivers/usb/core/generic.c:238
 usb_probe_device+0x309/0x570 drivers/usb/core/driver.c:293
 really_probe+0x653/0x14b0 drivers/base/dd.c:596
 __driver_probe_device+0x3e9/0x530 drivers/base/dd.c:752
 driver_probe_device drivers/base/dd.c:782 [inline]
 __device_attach_driver+0x79f/0x1120 drivers/base/dd.c:899
 bus_for_each_drv+0x2d6/0x3f0 drivers/base/bus.c:427
 __device_attach+0x593/0x8e0 drivers/base/dd.c:970
 device_initial_probe+0x4a/0x60 drivers/base/dd.c:1017
 bus_probe_device+0x17b/0x3e0 drivers/base/bus.c:487
 device_add+0x1fff/0x26e0 drivers/base/core.c:3405
 usb_new_device+0x1b8e/0x2950 drivers/usb/core/hub.c:2566
 hub_port_connect drivers/usb/core/hub.c:5358 [inline]
 hub_port_connect_change drivers/usb/core/hub.c:5502 [inline]
 port_event drivers/usb/core/hub.c:5660 [inline]
 hub_event+0x58e3/0x89e0 drivers/usb/core/hub.c:5742
 process_one_work+0xdb6/0x1820 kernel/workqueue.c:2307
 worker_thread+0x10b3/0x21e0 kernel/workqueue.c:2454
 kthread+0x3c7/0x500 kernel/kthread.c:377
 ret_from_fork+0x1f/0x30

Local variable mac created at:
 r871xu_drv_init+0x1771/0x3070 drivers/staging/rtl8712/usb_intf.c:394
 usb_probe_interface+0xf19/0x1600 drivers/usb/core/driver.c:396

KMSAN: uninit-value in r871xu_drv_init
https://syzkaller.appspot.com/bug?id=3cd92b1d85428b128503bfa7a250294c9ae00bd8

Reported-by: <syzbot+6f5ecd144854c0d8580b@syzkaller.appspotmail.com>
Tested-by: <syzbot+6f5ecd144854c0d8580b@syzkaller.appspotmail.com>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Wang Cheng <wanngchenng@gmail.com>
Link: https://lore.kernel.org/r/14c3886173dfa4597f0704547c414cfdbcd11d16.1652618244.git.wanngchenng@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-05-19 17:44:25 +02:00
..
basic_types.h
drv_types.h staging: rtl8712: Use completions for signaling 2022-04-04 07:33:45 +02:00
ethernet.h
hal_init.c
ieee80211.c staging: rtl8712: fix camel case in function r8712_generate_ie 2022-04-07 19:53:06 +02:00
ieee80211.h
Kconfig
Makefile
mlme_linux.c
mlme_osdep.h
mp_custom_oid.h
os_intfs.c staging: rtl8712: fix a potential memory leak in r871xu_drv_init() 2022-04-05 16:14:38 +02:00
osdep_intf.h
osdep_service.h exit/rtl8712: Replace the macro thread_exit with a simple return 0 2021-10-29 14:31:34 -05:00
recv_linux.c
recv_osdep.h
rtl871x_cmd.c staging: rtl8712: cmd: remove redundant space after cast 2022-04-14 09:11:48 +02:00
rtl871x_cmd.h staging/rtl8712: remove event_tasklet 2022-04-12 15:53:50 +02:00
rtl871x_debug.h
rtl871x_eeprom.c
rtl871x_eeprom.h
rtl871x_event.h
rtl871x_ht.h
rtl871x_io.c
rtl871x_io.h
rtl871x_ioctl_linux.c staging: rtl8712: Remove unnecessary int typecast 2022-04-20 18:40:19 +02:00
rtl871x_ioctl_rtl.c staging: rtl8712: Fix multiple blank lines warning from .c files 2022-04-04 16:34:32 +02:00
rtl871x_ioctl_rtl.h
rtl871x_ioctl_set.c staging: rtl8712: Remove unnecessary parentheses 2022-04-14 09:12:11 +02:00
rtl871x_ioctl_set.h
rtl871x_ioctl.h staging: rtl8712: Fix multiple blank lines warning from .h files 2022-04-04 16:34:31 +02:00
rtl871x_led.h
rtl871x_mlme.c staging: rtl8712: simplify control flow 2022-04-05 16:03:11 +02:00
rtl871x_mlme.h
rtl871x_mp_ioctl.c
rtl871x_mp_ioctl.h staging: rtl8712: Fix multiple blank lines warning from .h files 2022-04-04 16:34:31 +02:00
rtl871x_mp_phy_regdef.h staging: rtl8712: Fix multiple blank lines warning from .h files 2022-04-04 16:34:31 +02:00
rtl871x_mp.c
rtl871x_mp.h
rtl871x_pwrctrl.c
rtl871x_pwrctrl.h
rtl871x_recv.c staging: rtl8712: Fix multiple blank lines warning from .c files 2022-04-04 16:34:32 +02:00
rtl871x_recv.h staging: rtl8712: Drop get_recvframe_data() 2022-01-25 16:21:36 +01:00
rtl871x_rf.h
rtl871x_security.c staging: rtl8712: Fix multiple blank lines warning from .c files 2022-04-04 16:34:32 +02:00
rtl871x_security.h
rtl871x_sta_mgt.c
rtl871x_wlan_sme.h
rtl871x_xmit.c
rtl871x_xmit.h
rtl8712_bitdef.h
rtl8712_cmd.c exit/rtl8712: Replace the macro thread_exit with a simple return 0 2021-10-29 14:31:34 -05:00
rtl8712_cmd.h
rtl8712_cmdctrl_bitdef.h staging: rtl8712: Fix multiple blank lines warning from .h files 2022-04-04 16:34:31 +02:00
rtl8712_cmdctrl_regdef.h
rtl8712_debugctrl_bitdef.h
rtl8712_debugctrl_regdef.h
rtl8712_edcasetting_bitdef.h
rtl8712_edcasetting_regdef.h
rtl8712_efuse.c staging: rtl8712: Fix alignment checks with flipped condition 2021-12-09 08:57:22 +01:00
rtl8712_efuse.h staging: rtl8712: efuse: code style - avoid macro argument precedence issues 2022-04-12 15:50:58 +02:00
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 staging: rtl8712: Fix multiple blank lines warning from .h files 2022-04-04 16:34:31 +02:00
rtl8712_macsetting_regdef.h staging: rtl8712: Fix multiple blank lines warning from .h files 2022-04-04 16:34:31 +02:00
rtl8712_powersave_bitdef.h
rtl8712_powersave_regdef.h
rtl8712_ratectrl_bitdef.h
rtl8712_ratectrl_regdef.h staging: rtl8712: Fix multiple blank lines warning from .h files 2022-04-04 16:34:31 +02:00
rtl8712_recv.c staging: rtl8712: remove Unnecessary parentheses 2022-04-05 16:02:45 +02:00
rtl8712_recv.h
rtl8712_regdef.h
rtl8712_security_bitdef.h staging: rtl8712: Fix multiple blank lines warning from .h files 2022-04-04 16:34:31 +02:00
rtl8712_spec.h staging: rtl8712: Fix multiple blank lines warning from .h files 2022-04-04 16:34:31 +02:00
rtl8712_syscfg_bitdef.h staging: rtl8712: Fix multiple blank lines warning from .h files 2022-04-04 16:34:31 +02:00
rtl8712_syscfg_regdef.h staging: rtl8712: Fix multiple blank lines warning from .h files 2022-04-04 16:34:31 +02:00
rtl8712_timectrl_bitdef.h staging: rtl8712: Fix multiple blank lines warning from .h files 2022-04-04 16:34:31 +02:00
rtl8712_timectrl_regdef.h
rtl8712_wmac_bitdef.h staging: rtl8712: Fix multiple blank lines warning from .h files 2022-04-04 16:34:31 +02:00
rtl8712_wmac_regdef.h
rtl8712_xmit.c
rtl8712_xmit.h
sta_info.h staging: rtl8712: Fix multiple blank lines warning from .h files 2022-04-04 16:34:31 +02:00
TODO
usb_halinit.c
usb_intf.c staging: rtl8712: fix uninit-value in r871xu_drv_init() 2022-05-19 17:44:25 +02:00
usb_ops_linux.c staging: rtl8712: add error handler in r8712_usbctrl_vendorreq() 2022-05-19 17:44:25 +02:00
usb_ops.c staging: rtl8712: fix uninit-value in usb_read8() and friends 2022-05-19 17:44:25 +02:00
usb_ops.h
usb_osintf.h
wifi.h staging: rtl8712: Fix multiple blank lines warning from .h files 2022-04-04 16:34:31 +02:00
wlan_bssdef.h
xmit_linux.c staging: rtl8712: Use completions for signaling 2022-04-04 07:33:45 +02:00
xmit_osdep.h