In the Linux kernel, the following vulnerability has been resolved:
wifi: wilc1000: add missing unregisternetdev() in wilcnetdevifcinit()
Fault injection test reports this issue:
kernel BUG at net/core/dev.c:10731! invalid opcode: 0000 [#1] PREEMPT SMP KASAN PTI Call Trace: <TASK> wilcnetdevifcinit+0x19f/0x220 [wilc1000 884bf126e9e98af6a708f266a8dffd53f99e4bf5] wilccfg80211init+0x30c/0x380 [wilc1000 884bf126e9e98af6a708f266a8dffd53f99e4bf5] wilcbusprobe+0xad/0x2b0 [wilc1000spi 1520a7539b6589cc6cde2ae826a523a33f8bacff] spiprobe+0xe4/0x140 reallyprobe+0x17e/0x3f0 _driverprobedevice+0xe3/0x170 driverprobe_device+0x49/0x120
The root case here is allocorderedworkqueue() fails, but cfg80211unregisternetdevice() or unregisternetdev() not be called in error handling path. To fix add unregisternetdev goto lable to add the unregister operation in error handling path.