---
id: CVE-2026-97571
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  bnxt_en: Propagate TPA buffer allocation failures in bnxt_queue_mem_alloc()

  bnxt_alloc_one_tpa_info_data() returns -ENOMEM as soon as one allocation
  fails
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  bnxt_en: Propagate TPA buffer allocation failures in bnxt_queue_mem_alloc()

  bnxt_alloc_one_tpa_info_data() returns -ENOMEM as soon as one allocation
  fails. This leaves…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= bd649c5cc958169b8a8a3e77ea926d92d472b02a <
    c8050386a2209b2a474c1eb4bd1574dc19129bfb
  - >-
    Linux >= bd649c5cc958169b8a8a3e77ea926d92d472b02a <
    37e08dc821a57fe0592c917486b638caa888b46d
  - >-
    Linux >= bd649c5cc958169b8a8a3e77ea926d92d472b02a <
    b814dfbfeb0a68c9a52073f2caa05a2d5247a329
  - Linux 0997443906b96a051011f220a61e6dce4602ec54
  - Linux >= 6.12.20 < 6.13
  - Linux 6.13
published: '2026-09-25'
updated: '2026-09-25'
sourceUpdated: '2026-09-25T11:17:07.803'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-97571'
references:
  - url: 'https://git.kernel.org/stable/c/37e08dc821a57fe0592c917486b638caa888b46d'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/b814dfbfeb0a68c9a52073f2caa05a2d5247a329'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/c8050386a2209b2a474c1eb4bd1574dc19129bfb'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
  - cve.org
ingestedAt: '2026-09-25T11:06:38.912Z'
---

## Overview

In the Linux kernel, the following vulnerability has been resolved:

bnxt_en: Propagate TPA buffer allocation failures in bnxt_queue_mem_alloc()

bnxt_alloc_one_tpa_info_data() returns -ENOMEM as soon as one allocation
fails. This leaves the remaining rxr->rx_tpa[] entries zeroed.

bnxt_queue_mem_alloc() discards that return value, so the partially
initialized ring is installed by bnxt_queue_start().

Since the agg_id is picked by the hardware and bnxt_alloc_agg_idx maps
it to a SW index in rxr->rx_tpa[], it is possible that an uninitialized
slot can be chosen which would hand a zero DMA address to the device.

Fix this by checking the return value of bnxt_alloc_one_tpa_info_data
and unwinding, freeing the ring buffers.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
