Skip to main content
← All vulnerabilities
CVE-2024-50001

net/mlx5: Fix error path in multi-packet WQE transmit

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.10.227, 5.15.168, 6.1.113, 6.6.55, 6.10.14, and 1 more
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

In the Linux kernel, the following vulnerability has been resolved: net/mlx5: Fix error path in multi-packet WQE transmit Remove the erroneous unmap in case no DMA mapping was established The multi-packet WQE transmit code attempts to obtain a DMA mapping for the skb. This could fail, e.g. under memory pressure, when the IOMMU driver just can't allocate more memory for page tables. While the code tries to handle this in the path below the err_unmap label it erroneously unmaps one entry from the sq's FIFO list of active mappings. Since the current map attempt failed this unmap is removing some random DMA mapping that might still be required. If the PCI function now presents that IOVA, the IOMMU may assumes a rogue DMA access and e.g. on s390 puts the PCI function in error state. The erroneous behavior was seen in a stress-test environment that created memory pressure.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • Linux Linux

    From 5af75c747e2a868abbf8611494b50ed5e076fca7 · fixed in ca36d6c1a49b6965c86dd528a73f38bc62d9c625; From 5af75c747e2a868abbf8611494b50ed5e076fca7 · fixed in ce828b347cf1b3c1b12b091d02463c35ce5097f5; From 5af75c747e2a868abbf8611494b50ed5e076fca7 · fixed in fc357e78176945ca7bcacf92ab794b9ccd41b4f4; From 5af75c747e2a868abbf8611494b50ed5e076fca7 · fixed in 26fad69b34fcba80d5c7d9e651f628e6ac927754; From 5af75c747e2a868abbf8611494b50ed5e076fca7 · fixed in ecf310aaf256acbc8182189fe0aa1021c3ddef72; From 5af75c747e2a868abbf8611494b50ed5e076fca7 · fixed in 8bb8c12fb5e2b1f03d603d493c92941676f109b5; From 5af75c747e2a868abbf8611494b50ed5e076fca7 · fixed in 2bcae12c795f32ddfbf8c80d1b5f1d3286341c32

  • Linux Linux

    5.10

  • KernelLinux

    From 5.10.0 · fixed in 5.10.227; From 5.11.0 · fixed in 5.15.168; From 5.16.0 · fixed in 6.1.113; From 6.2.0 · fixed in 6.6.55; From 6.7.0 · fixed in 6.10.14; From 6.11.0 · fixed in 6.11.3

References 7

git.kernel.org