LiveActive security incident?Get immediate response
CVE Record

CVE-2022-50145: dmaengine: sf-pdma: Add multithread support for a DMA channel

In the Linux kernel, the following vulnerability has been resolved: dmaengine: sf-pdma: Add multithread support for a DMA channel When we get a DMA channel and try to use it in multiple threads it will cause oops and hanging the system. % echo 64 > /sys/module/dmatest/parameters/threads_per_chan % echo 10000 > /sys/module/dmatest/parameters/iterations % echo 1 > /sys/module/dmatest/parameters/run [ 89.480664] Unable to handle kernel NULL pointer dereference at virtual address 00000000000000a0 [ 89.488725] Oops [#1] [ 89.494708] CPU: 2 PID: 1008 Comm: dma0chan0-copy0 Not tainted 5.17.0-rc5 [ 89.509385] epc : vchan_find_desc+0x32/0x46 [ 89.513553] ra : sf_pdma_tx_status+0xca/0xd6 This happens because of data race. Each thread rewrite channels's descriptor as soon as device_prep_dma_memcpy() is called. It leads to the situation when the driver thinks that it uses right descriptor that actually is freed or substituted for other one. With current fixes a descriptor changes its value only when it has been used. A new descriptor is acquired from vc->desc_issued queue that is already filled with descriptors that are ready to be sent. Threads have no direct access to DMA channel descriptor. Now it is just possible to queue a descriptor for further processing.

UnknownCVSS not scoredNot KEV-listedUpdated
Glexia's TakeAutomated analysismoderate

Security readout for executives and security teams

Plain-English summary

This Linux kernel issue can crash or hang an affected system when the sf-pdma DMA driver is used from multiple threads on one channel. It is primarily an availability risk, not a documented data theft issue. Exposure depends on whether the affected driver and hardware are present.

Executive priority

Treat as a targeted reliability fix for Linux platforms using this DMA driver. Prioritize patching exposed appliances, embedded systems, and operational hosts where a kernel hang would affect service availability.

Technical view

The sf-pdma dmaengine driver had a race where concurrent threads rewrote a channel descriptor during device_prep_dma_memcpy(). The driver could then reference a freed or substituted descriptor, causing a kernel NULL pointer dereference in vchan_find_desc and system instability.

Likely exposure

Likely limited to Linux systems using the sf-pdma DMA engine driver and workloads that share a DMA channel across threads. The bundle does not prove broad default exposure across all Linux systems.

Exploitation context

The source bundle shows a reproducible kernel oops and hang using dmatest. It does not cite active exploitation, and KEV status is false. No remote exploitation path is described.

Researcher notes

Evidence supports a concurrency bug in descriptor ownership within sf-pdma. The fix changes descriptor handling so threads queue descriptors rather than directly mutating the channel descriptor. The bundle lacks CVSS, CWE, exploitability analysis, and distribution-specific package status.

Mitigation direction

  • Update to a vendor kernel containing the referenced stable fixes.
  • Check Linux distribution advisories for affected kernel packages and backports.
  • Prioritize systems using sf-pdma-capable hardware or DMA-heavy workloads.
  • Avoid unnecessary multithreaded use of one DMA channel until patched.

Validation and detection

  • Inventory kernels and determine whether sf-pdma is built or loaded.
  • Map running kernel versions to vendor advisories or fixed stable commits.
  • Review crash logs for sf_pdma_tx_status or vchan_find_desc oops traces.
  • Confirm patched kernels no longer carry the vulnerable descriptor handling.
Prepared
Confidence
medium
Sources
7

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cve · low confidence lookup

CVE-2022-50145 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
Unknown
CVSS
Not scored
Known Exploited
No
Published
Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

0CVSS vectors
3Timeline events
0ADP providers
6Source links

Vulnerability timeline

Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.

  1. CVE reservedCVE Program

    The CVE ID was reserved by the assigning CNA.

  2. CVE publishedCVE Program

    The CVE record was published.

  3. CVE updatedCVE Program

    The CVE record metadata indicates this as the latest update time.

Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
LinuxLinux6973886ad58e6b4988813331abb76ae0b364a9c2, 6973886ad58e6b4988813331abb76ae0b364a9c2, 6973886ad58e6b4988813331abb76ae0b364a9c2, 6973886ad58e6b4988813331abb76ae0b364a9c2, 6973886ad58e6b4988813331abb76ae0b364a9c2unaffected
LinuxLinux5.5, 0, 5.10.137, 5.15.61, 5.18.18, 5.19.2, 6.0affected
Weakness

CWE details

No CWE listed

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.