Description
In the Linux kernel, the following vulnerability has been resolved: wifi: rsi: fix kthread lifetime race between self-exit and external-stop RSI driver use both self-exit(kthread_complete_and_exit) and external-stop (kthread_stop) when killing a kthread. Generally, kthread_stop() is called first, and in this case, no particular issues occur. However, in rare instances where kthread_complete_and_exit() is called first and then kthread_stop() is called, a UAF occurs because the kthread object, which has already exited and been freed, is accessed again. Therefore, to prevent this with minimal modification, you must remove kthread_stop() and change the code to wait until the self-exit operation is completed.
Product status
4c62764d0fc21a34ffc44eec1210038c3a2e4473 (git) before 4ac3095da22fc50e51ec10c3b8323c21ab3e441a
4c62764d0fc21a34ffc44eec1210038c3a2e4473 (git) before 9dfe8a4458a063c6433526bc59112a169eee1aa3
4c62764d0fc21a34ffc44eec1210038c3a2e4473 (git) before 4f697813162d5f9151726a6d2bee82bffe4b0256
4c62764d0fc21a34ffc44eec1210038c3a2e4473 (git) before 95fcb436586dc3c2983537d557ac05bbc6a027f3
4c62764d0fc21a34ffc44eec1210038c3a2e4473 (git) before 16d9f674c619838bdeae42abc0929c9c5477ea1f
4c62764d0fc21a34ffc44eec1210038c3a2e4473 (git) before 4f9a4ae8d2c198f01611ea376034c326ef43ab56
4c62764d0fc21a34ffc44eec1210038c3a2e4473 (git) before 4f4c9b13c485abd0a2d2c97f9db339d1dd8e147f
4c62764d0fc21a34ffc44eec1210038c3a2e4473 (git) before db57a1aa54ff68669781976e4edb045e09e2b65b
d8f70ad66032363e3edceee81a7be2aaccb2d7f5 (git)
ec759c0015fb7d4f5c7cb5711d2c8905724c7983 (git)
c8ed05b1d8520f40395916438da9b38ce937a896 (git)
ad78e2e057ab8d914a2b5e3e6acf29c3c8a428a3 (git)
de1fd69b6541ff61177114d63af7ea719c426cf0 (git)
3.18.139 (semver) before 3.19
4.4.179 (semver) before 4.5
4.9.170 (semver) before 4.10
4.14.113 (semver) before 4.15
4.19.36 (semver) before 4.20
4.20
Any version before 4.20
5.10.258 (semver)
5.15.209 (semver)
6.1.175 (semver)
6.6.140 (semver)
6.12.88 (semver)
6.18.30 (semver)
7.0.7 (semver)
7.1-rc3 (original_commit_for_fix)
References
git.kernel.org/...c/4ac3095da22fc50e51ec10c3b8323c21ab3e441a
git.kernel.org/...c/9dfe8a4458a063c6433526bc59112a169eee1aa3
git.kernel.org/...c/4f697813162d5f9151726a6d2bee82bffe4b0256
git.kernel.org/...c/95fcb436586dc3c2983537d557ac05bbc6a027f3
git.kernel.org/...c/16d9f674c619838bdeae42abc0929c9c5477ea1f
git.kernel.org/...c/4f9a4ae8d2c198f01611ea376034c326ef43ab56
git.kernel.org/...c/4f4c9b13c485abd0a2d2c97f9db339d1dd8e147f
git.kernel.org/...c/db57a1aa54ff68669781976e4edb045e09e2b65b