CVE-2024-53215: svcrdma: fix miss destroy percpu_counter in svc_rdma_proc_init()
In the Linux kernel, the following vulnerability has been resolved:
svcrdma: fix miss destroy percpucounter in svcrdmaprocinit()
There's issue as follows: RPC: Registered rdma transport module. RPC: Registered rdma backchannel transport module. RPC: Unregistered rdma transport module. RPC: Unregistered rdma backchannel transport module. BUG: unable to handle page fault for address: fffffbfff80c609a PGD 123fee067 P4D 123fee067 PUD 123fea067 PMD 10c624067 PTE 0 Oops: Oops: 0000 [#1] PREEMPT SMP KASAN NOPTI RIP: 0010:percpucounterdestroymany+0xf7/0x2a0 Call Trace: <TASK> die+0x1f/0x70 pagefaultoops+0x2cd/0x860 spuriouskernelfault+0x36/0x450 dokernaddrfault+0xca/0x100 excpagefault+0x128/0x150 asmexcpagefault+0x26/0x30 percpucounterdestroymany+0xf7/0x2a0 mmdrop+0x209/0x350 finishtaskswitch.isra.0+0x481/0x840 scheduletail+0xe/0xd0 retfromfork+0x23/0x80 retfromforkasm+0x1a/0x30 </TASK>
If registersysctl() return NULL, then svcrdmaproccleanup() will not destroy the percpu counters which init in svcrdmaprocinit(). If CONFIGHOTPLUGCPU is enabled, residual nodes may be in the 'percpucounters' list. The above issue may occur once the module is removed. If the CONFIGHOTPLUGCPU configuration is not enabled, memory leakage occurs. To solve above issue just destroy all percpu counters when registersysctl() return NULL.
Other sources
This CVE was automatically created from a reference found in an email or other text. If you are reading this, then this CVE entry is probably erroneous, since this text should be replaced by the official CVE description automatically.
— Launchpad
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2024-53215?
CVE-2024-53215 has a moderate severity rating due to its potential impact on the stability of the Linux kernel in affected versions.
What systems are affected by CVE-2024-53215?
CVE-2024-53215 affects various versions of the Linux kernel between 5.12 and 6.12, including multiple subversions.
How do I fix CVE-2024-53215?
To fix CVE-2024-53215, upgrade the Linux kernel to a version that is not vulnerable, as indicated in the advisory.
What is the nature of the vulnerability in CVE-2024-53215?
CVE-2024-53215 involves a missed destruction of the percpu_counter in the svc_rdma_proc_init() function within the Linux kernel.
Is there a workaround for CVE-2024-53215?
There is no official workaround for CVE-2024-53215; upgrading to a patched kernel version is recommended.