Skip to content
Heist/ feed
Back to feed
HighFix available

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

Type: advisorySources: OSV

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.

Products
Kernel
Affected versions
Not specified
Fixed versions
5.10.227, 5.15.168, 6.1.113, 6.10.14, 6.11.3, 6.6.55
CVEs
CVE-2024-50001
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 07:01 UTC · Revision 1

Source evidence

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

core-osv · Original source

Published 21 Oct 2024, 18:02 UTC

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.

osv:CVE-2024-50001

Kernel

Fixed versions: 5.10.227, 5.15.168, 6.1.113, 6.6.55, 6.10.14, 6.11.3

Complete source record
{
  "id": "6dbd68a4fd4b2799c8e539bfe1f0bf87ce4b7f2d2602aba807f5b9a4e723a4c1",
  "url": "https://osv.dev/vulnerability/CVE-2024-50001",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "net/mlx5: Fix error path in multi-packet WQE transmit",
    "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.",
    "evidence": "osv:CVE-2024-50001",
    "products": [
      {
        "name": {
          "value": "Kernel",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "5.10.227",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "5.15.168",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.1.113",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.6.55",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.10.14",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.11.3",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "high",
    "structured": {
      "id": "CVE-2024-50001",
      "aliases": [
        "CVE-2024-50001"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "5af75c747e2a868abbf8611494b50ed5e076fca7"
                },
                {
                  "fixed": "ca36d6c1a49b6965c86dd528a73f38bc62d9c625"
                },
                {
                  "fixed": "ce828b347cf1b3c1b12b091d02463c35ce5097f5"
                },
                {
                  "fixed": "fc357e78176945ca7bcacf92ab794b9ccd41b4f4"
                },
                {
                  "fixed": "26fad69b34fcba80d5c7d9e651f628e6ac927754"
                },
                {
                  "fixed": "ecf310aaf256acbc8182189fe0aa1021c3ddef72"
                },
                {
                  "fixed": "8bb8c12fb5e2b1f03d603d493c92941676f109b5"
                },
                {
                  "fixed": "2bcae12c795f32ddfbf8c80d1b5f1d3286341c32"
                }
              ]
            }
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-50001.json"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "5.10.0"
                },
                {
                  "fixed": "5.10.227"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "5.11.0"
                },
                {
                  "fixed": "5.15.168"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "5.16.0"
                },
                {
                  "fixed": "6.1.113"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.2.0"
                },
                {
                  "fixed": "6.6.55"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.7.0"
                },
                {
                  "fixed": "6.10.14"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.11.0"
                },
                {
                  "fixed": "6.11.3"
                }
              ]
            }
          ],
          "package": {
            "name": "Kernel",
            "ecosystem": "Linux"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-50001.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:26.694205596Z",
      "provider": "osv",
      "references": [
        "https://cert-portal.siemens.com/productcert/html/ssa-265688.html",
        "https://cert-portal.siemens.com/productcert/html/ssa-355557.html",
        "https://git.kernel.org/stable/c/26fad69b34fcba80d5c7d9e651f628e6ac927754",
        "https://git.kernel.org/stable/c/2bcae12c795f32ddfbf8c80d1b5f1d3286341c32",
        "https://git.kernel.org/stable/c/8bb8c12fb5e2b1f03d603d493c92941676f109b5",
        "https://git.kernel.org/stable/c/ca36d6c1a49b6965c86dd528a73f38bc62d9c625",
        "https://git.kernel.org/stable/c/ce828b347cf1b3c1b12b091d02463c35ce5097f5",
        "https://git.kernel.org/stable/c/ecf310aaf256acbc8182189fe0aa1021c3ddef72",
        "https://git.kernel.org/stable/c/fc357e78176945ca7bcacf92ab794b9ccd41b4f4",
        "https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html",
        "https://lists.debian.org/debian-lts-announce/2025/03/msg00002.html",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/50xxx/CVE-2024-50001.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2024-50001",
        "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
      ],
      "provider_metadata": {
        "cna_assigner": "Linux",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/50xxx/CVE-2024-50001.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2024-50001",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 493200,
  "published_at": "2024-10-21T18:02:40.254+00:00"
}