CVE-2022-50382
kernel: padata: Always leave BHs disabled when running ->parallel()
Severity
ModerateRed Hat Product Security
CVSS 3.1
Review impact separately from score.
Published · September 18, 2025
Updated · June 30, 2026
Description
In the Linux kernel, the following vulnerability has been resolved:
padata: Always leave BHs disabled when running ->parallel()
A deadlock can happen when an overloaded system runs ->parallel() in the context of the current task:
padata_do_parallel
->parallel()
pcrypt_aead_enc/dec
padata_do_serial
spin_lock(&reorder->lock) // BHs still enabled
<interrupt>
...
__do_softirq
...
padata_do_serial
spin_lock(&reorder->lock)
It's a bug for BHs to be on in _do_serial as Steffen points out, so ensure they're off in the "current task" case like they are in padata_parallel_worker to avoid this situation.
Statement
A deadlock could occur in the Linux kernel’s padata subsystem when ->parallel() was executed in the context of the current task with bottom halves (BHs) still enabled. During execution, padata_do_serial() could attempt to acquire a spinlock while a softirq also executed the same code path, leading to recursive locking and system hang.
CVSS score applicability
The CVSS score(s) listed for this vulnerability do not reflect the associated product's status, and are included for informational purposes to better understand the severity of this vulnerability.
Mitigation
No mitigation is specified in collected source.
CVSS / CWE
CVSS 3.1 · 5.5CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CWE-833 · Deadlock