CVE-2022-50382

Summary

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.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux4611ce22468895acd61fee9ac1da810d60617d9a < 8e0681dd4eee029eb1d533d06993f7cb091efb73affected
LinuxLinux4611ce22468895acd61fee9ac1da810d60617d9a < 17afa98bccec4f52203508b3f49b5f948c6fd6acaffected
LinuxLinux4611ce22468895acd61fee9ac1da810d60617d9a < 7337adb20fcc0aebb50eaff2bc5a8dd9a7c6743daffected
LinuxLinux4611ce22468895acd61fee9ac1da810d60617d9a < 6cfa9e60c0f88fdec6368e081ab968411cc706b1affected
LinuxLinux4611ce22468895acd61fee9ac1da810d60617d9a < 34c3a47d20ae55b3600fed733bf96eafe9c500d5affected
LinuxLinux5.8affected
LinuxLinux0 < 5.8unaffected
LinuxLinux5.10.163 <= 5.10.*unaffected
LinuxLinux5.15.86 <= 5.15.*unaffected
LinuxLinux6.0.16 <= 6.0.*unaffected
LinuxLinux6.1.2 <= 6.1.*unaffected
LinuxLinux6.2 <= *unaffected

Weaknesses

ADP Enrichment

CISA ADP Vulnrichment

  • SSVC:
  • Exploitation: none
    • Automatable: no
    • Technical Impact: partial

References