In the Linux kernel, the following vulnerability has been resolved:
wifi: rtw89: chan: fix soft lockup in rtw89entityrecalcmgntroles()
During rtw89entityrecalcmgntroles(), there is a normalizing process
which will re-order the list if an entry with target pattern is found.
And once one is found, should have aborted the listforeachentry. But,
break
just aborted the inner for-loop. The outer listforeachentry
still continues. Normally, only the first entry will match the target
pattern, and the re-ordering will change nothing, so there won't be
soft lockup. However, in some special cases, soft lockup would happen.
Fix it by goto fill
to break from the listforeach_entry.
The following is a sample of kernel log for this problem.
watchdog: BUG: soft lockup - CPU#1 stuck for 26s! [wpasupplicant:2055] [...] RIP: 0010:rtw89entityrecalc ([...] chan.c:392 chan.c:479) rtw89core [...]