<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://db.gcve.eu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-25T17:18:51.787265+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@gcve.eu</email>
  </author>
  <link href="https://db.gcve.eu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://db.gcve.eu/vuln/cve-2026-99081</id>
    <title>CVE-2026-99081 — bnxt_en: fix DMA mapping length for padded small packets</title>
    <updated>2026-10-25T17:18:51.789845+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Linux</p>
<p>In the Linux kernel, the following vulnerability has been resolved:</p>
<p>bnxt_en: fix DMA mapping length for padded small packets</p>
<p>Stefan Fleischmann reported Intel IOMMU DMA Read faults on BCM57412
NetXtreme-E NICs when transmitting packets on VLAN/macvlan interfaces:</p>
<p>DMAR: [DMA Read NO_PASID] Request device [18:00.0] fault addr 0xfc499000
        [fault reason 0x06] PTE Read access is not set
  bnxt_en 0000:18:00.0 eno1np0: Abandoning msg {0xb4 0x41a} len: 0 due to firmware status: 0x2000001
  ...
  NETDEV WATCHDOG: eno1np0 (bnxt_en): transmit queue 0 timed out</p>
<p>The fault address (0xfc499000) is on an exact 4KB page boundary,
pointing to a DMA read buffer overrun.</p>
<p>In bnxt_start_xmit(), packets smaller than BNXT_MIN_PKT_SIZE (52 bytes),
such as 42-byte untagged ARP frames, are padded:</p>
<p>if (length &lt; BNXT_MIN_PKT_SIZE) {
        pad = BNXT_MIN_PKT_SIZE - length;
        if (skb_pad(skb, pad))
            goto tx_kick_pending;
        length = BNXT_MIN_PKT_SIZE;
    }</p>
<p>mapping = dma_map_single(&amp;pdev-&gt;dev, skb-&gt;data, len, DMA_TO_DEVICE);
    ...
    dma_unmap_len_set(tx_buf, len, len);</p>
<p>However, 'len' was initialized earlier to skb_headlen(skb) (e.g. 42 bytes)
and is left unadjusted after padding. Consequently, dma_map_single() and
dma_unmap_len_set() map and track only 42 bytes.</p>
<p>Later, the hardware TX buffer descriptor is programmed with the padded length:</p>
<p>txbd-&gt;tx_bd_len_flags_type =
        cpu_to_le32(((len + pad) &lt;&lt; TX_BD_LEN_SHIFT) | flags |…</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/cve-2026-99081"/>
  </entry>
</feed>
