{"id":"CVE-2022-50771","state":"PUBLISHED","title":"rcu: Fix __this_cpu_read() lockdep warning in rcu_force_quiescent_state()","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nrcu: Fix __this_cpu_read() lockdep warning in rcu_force_quiescent_state()\n\nRunning rcutorture with non-zero fqs_duration module parameter in a\nkernel built with CONFIG_PREEMPTION=y results in the following splat:\n\nBUG: using __this_cpu_read() in preemptible [00000000]\ncode: rcu_torture_fqs/398\ncaller is __this_cpu_preempt_check+0x13/0x20\nCPU: 3 PID: 398 Comm: rcu_torture_fqs Not tainted 6.0.0-rc1-yoctodev-standard+\nCall Trace:\n<TASK>\ndump_stack_lvl+0x5b/0x86\ndump_stack+0x10/0x16\ncheck_preemption_disabled+0xe5/0xf0\n__this_cpu_preempt_check+0x13/0x20\nrcu_force_quiescent_state.part.0+0x1c/0x170\nrcu_force_quiescent_state+0x1e/0x30\nrcu_torture_fqs+0xca/0x160\n? rcu_torture_boost+0x430/0x430\nkthread+0x192/0x1d0\n? kthread_complete_and_exit+0x30/0x30\nret_from_fork+0x22/0x30\n</TASK>\n\nThe problem is that rcu_force_quiescent_state() uses __this_cpu_read()\nin preemptible code instead of the proper raw_cpu_read().  This commit\ntherefore changes __this_cpu_read() to raw_cpu_read().","publishedAt":"2025-12-24T13:06:00.412Z","updatedAt":"2026-05-11T19:25:13.504Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"d860d40327dde251d508a234fa00bd0d90fbb656","status":"affected","lessThan":"3d92527a919edd1aa381bdd6c299dd75a8167396","versionType":"git"},{"version":"d860d40327dde251d508a234fa00bd0d90fbb656","status":"affected","lessThan":"5a52380b8193cf8be6c4a6b94b86ef64ed80c0dc","versionType":"git"},{"version":"d860d40327dde251d508a234fa00bd0d90fbb656","status":"affected","lessThan":"98a5b1265a36e9d843a51ddd6c9fa02da50d2c57","versionType":"git"},{"version":"d860d40327dde251d508a234fa00bd0d90fbb656","status":"affected","lessThan":"a74af9b937707b42c3fd041aae1ed4ce2f337307","versionType":"git"},{"version":"d860d40327dde251d508a234fa00bd0d90fbb656","status":"affected","lessThan":"80a3e7ab477b3655615fc1627c88c248d4ad28d9","versionType":"git"},{"version":"d860d40327dde251d508a234fa00bd0d90fbb656","status":"affected","lessThan":"ceb1c8c9b8aa9199da46a0f29d2d5f08d9b44c15","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["kernel/rcu/tree.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.17","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.17","versionType":"semver"},{"version":"5.4.229","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.163","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.86","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.0.16","status":"unaffected","lessThanOrEqual":"6.0.*","versionType":"semver"},{"version":"6.1.2","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["kernel/rcu/tree.c"]}],"references":["https://git.kernel.org/stable/c/3d92527a919edd1aa381bdd6c299dd75a8167396","https://git.kernel.org/stable/c/5a52380b8193cf8be6c4a6b94b86ef64ed80c0dc","https://git.kernel.org/stable/c/98a5b1265a36e9d843a51ddd6c9fa02da50d2c57","https://git.kernel.org/stable/c/a74af9b937707b42c3fd041aae1ed4ce2f337307","https://git.kernel.org/stable/c/80a3e7ab477b3655615fc1627c88c248d4ad28d9","https://git.kernel.org/stable/c/ceb1c8c9b8aa9199da46a0f29d2d5f08d9b44c15"],"weaknesses":[],"ingestedAt":"2026-10-29T20:05:26.763Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2022/50xxx/CVE-2022-50771.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2022-50771","state":"PUBLISHED","datePublished":"2025-12-24T13:06:00.412Z","dateUpdated":"2026-05-11T19:25:13.504Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-12-24T13:02:21.546Z"},"containers":{"cna":{"title":"rcu: Fix __this_cpu_read() lockdep warning in rcu_force_quiescent_state()","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nrcu: Fix __this_cpu_read() lockdep warning in rcu_force_quiescent_state()\n\nRunning rcutorture with non-zero fqs_duration module parameter in a\nkernel built with CONFIG_PREEMPTION=y results in the following splat:\n\nBUG: using __this_cpu_read() in preemptible [00000000]\ncode: rcu_torture_fqs/398\ncaller is __this_cpu_preempt_check+0x13/0x20\nCPU: 3 PID: 398 Comm: rcu_torture_fqs Not tainted 6.0.0-rc1-yoctodev-standard+\nCall Trace:\n<TASK>\ndump_stack_lvl+0x5b/0x86\ndump_stack+0x10/0x16\ncheck_preemption_disabled+0xe5/0xf0\n__this_cpu_preempt_check+0x13/0x20\nrcu_force_quiescent_state.part.0+0x1c/0x170\nrcu_force_quiescent_state+0x1e/0x30\nrcu_torture_fqs+0xca/0x160\n? rcu_torture_boost+0x430/0x430\nkthread+0x192/0x1d0\n? kthread_complete_and_exit+0x30/0x30\nret_from_fork+0x22/0x30\n</TASK>\n\nThe problem is that rcu_force_quiescent_state() uses __this_cpu_read()\nin preemptible code instead of the proper raw_cpu_read().  This commit\ntherefore changes __this_cpu_read() to raw_cpu_read()."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"d860d40327dde251d508a234fa00bd0d90fbb656","status":"affected","lessThan":"3d92527a919edd1aa381bdd6c299dd75a8167396","versionType":"git"},{"version":"d860d40327dde251d508a234fa00bd0d90fbb656","status":"affected","lessThan":"5a52380b8193cf8be6c4a6b94b86ef64ed80c0dc","versionType":"git"},{"version":"d860d40327dde251d508a234fa00bd0d90fbb656","status":"affected","lessThan":"98a5b1265a36e9d843a51ddd6c9fa02da50d2c57","versionType":"git"},{"version":"d860d40327dde251d508a234fa00bd0d90fbb656","status":"affected","lessThan":"a74af9b937707b42c3fd041aae1ed4ce2f337307","versionType":"git"},{"version":"d860d40327dde251d508a234fa00bd0d90fbb656","status":"affected","lessThan":"80a3e7ab477b3655615fc1627c88c248d4ad28d9","versionType":"git"},{"version":"d860d40327dde251d508a234fa00bd0d90fbb656","status":"affected","lessThan":"ceb1c8c9b8aa9199da46a0f29d2d5f08d9b44c15","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["kernel/rcu/tree.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.17","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.17","versionType":"semver"},{"version":"5.4.229","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.163","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.86","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.0.16","status":"unaffected","lessThanOrEqual":"6.0.*","versionType":"semver"},{"version":"6.1.2","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["kernel/rcu/tree.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/3d92527a919edd1aa381bdd6c299dd75a8167396"},{"url":"https://git.kernel.org/stable/c/5a52380b8193cf8be6c4a6b94b86ef64ed80c0dc"},{"url":"https://git.kernel.org/stable/c/98a5b1265a36e9d843a51ddd6c9fa02da50d2c57"},{"url":"https://git.kernel.org/stable/c/a74af9b937707b42c3fd041aae1ed4ce2f337307"},{"url":"https://git.kernel.org/stable/c/80a3e7ab477b3655615fc1627c88c248d4ad28d9"},{"url":"https://git.kernel.org/stable/c/ceb1c8c9b8aa9199da46a0f29d2d5f08d9b44c15"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T19:25:13.504Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.17","versionEndExcluding":"5.4.229"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.17","versionEndExcluding":"5.10.163"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.17","versionEndExcluding":"5.15.86"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.17","versionEndExcluding":"6.0.16"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.17","versionEndExcluding":"6.1.2"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.17","versionEndExcluding":"6.2"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}