Description
In the Linux kernel, the following vulnerability has been resolved: md/raid5-cache: fix a deadlock in r5l_exit_log() Commit b13015af94cf ("md/raid5-cache: Clear conf->log after finishing work") introduce a new problem: // caller hold reconfig_mutex r5l_exit_log flush_work(&log->disable_writeback_work) r5c_disable_writeback_async wait_event /* * conf->log is not NULL, and mddev_trylock() * will fail, wait_event() can never pass. */ conf->log = NULL Fix this problem by setting 'config->log' to NULL before wake_up() as it used to be, so that wait_event() from r5c_disable_writeback_async() can exist. In the meantime, move forward md_unregister_thread() so that null-ptr-deref this commit fixed can still be fixed.
Product status
b13015af94cf405f73ff64ce0797269554020c37 (git) before ac9e103f282a7854f3274ef5ff0742fbbe8d7d6b
b13015af94cf405f73ff64ce0797269554020c37 (git) before 71cf23271f015a57038bdc4669952096f9fe5500
b13015af94cf405f73ff64ce0797269554020c37 (git) before c406984738215dc20ac2dc63e49d70f20797730e
b13015af94cf405f73ff64ce0797269554020c37 (git) before a705b11b358dee677aad80630e7608b2d5f56691
6.0
Any version before 6.0
6.1.53 (semver)
6.4.16 (semver)
6.5.3 (semver)
6.6 (original_commit_for_fix)
References
git.kernel.org/...c/ac9e103f282a7854f3274ef5ff0742fbbe8d7d6b
git.kernel.org/...c/71cf23271f015a57038bdc4669952096f9fe5500
git.kernel.org/...c/c406984738215dc20ac2dc63e49d70f20797730e
git.kernel.org/...c/a705b11b358dee677aad80630e7608b2d5f56691