OSDN Git Service

wifi: rtl8xxxu: Fix the error handling of the probe function
authorZheyu Ma <zheyuma97@gmail.com>
Sat, 16 Jul 2022 13:04:44 +0000 (21:04 +0800)
committerKalle Valo <kvalo@kernel.org>
Wed, 27 Jul 2022 12:52:55 +0000 (15:52 +0300)
commit13876f2a087ad352bf640a7a0a4a4229ea6e9e4f
treeb4af8a3900fe5e1ed666f1229a9024fbcdfd3e92
parent69ddcea564437ce4b0d5143f37a9154fcef8d3d2
wifi: rtl8xxxu: Fix the error handling of the probe function

When the driver fails at ieee80211_alloc_hw() at the probe time, the
driver will free the 'hw' which is not allocated, causing a bug.

The following log can reveal it:

[   15.981294] BUG: KASAN: user-memory-access in mutex_is_locked+0xe/0x40
[   15.981558] Read of size 8 at addr 0000000000001ab0 by task modprobe/373
[   15.982583] Call Trace:
[   15.984282]  ieee80211_free_hw+0x22/0x390
[   15.984446]  rtl8xxxu_probe+0x3a1/0xab30 [rtl8xxxu]

Fix the bug by changing the order of the error handling.

Signed-off-by: Zheyu Ma <zheyuma97@gmail.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220716130444.2950690-1-zheyuma97@gmail.com
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c