Skip to content
CVE PROGRAM SOURCE RECORD7.5 High

CVE-2026-89511

qede: Fix NULL pointer dereference in TPA fragment processing

Description

In the Linux kernel, the following vulnerability has been resolved: qede: Fix NULL pointer dereference in TPA fragment processing Under memory pressure, the qede driver encounters NULL pointer dereferences when processing TPA continuation fragments. Commit 8a8633978b84 ("qede: Add build_skb() support.") accidentally dropped the assignment of tpa_info->buffer.data in qede_tpa_start(). When memory pressure causes an SKB allocation failure in qede_tpa_start(), the driver sets tpa_start_fail = true and attempts to recycle the physical page later in qede_tpa_end() via qede_reuse_page(). However, because buffer.data was left uninitialized (NULL), qede_reuse_page() pushes a "ghost" BD (valid DMA mapping but NULL data pointer) back into the active Rx ring. The next time the hardware uses this ring slot, it passes a NULL page to qede_fill_frag_skb(), causing a kernel panic. Example crash from production system: BUG: unable to handle kernel NULL pointer dereference at 0x8 RIP: qede_fill_frag_skb+0x96/0x430 [qede] Call Trace: qede_rx_int+0xb06/0x1de0 qede_poll+0x2f4/0x6c0 __napi_poll+0x2d/0x130 Fix the root cause by restoring the tpa_info->buffer.data assignment in qede_tpa_start(), ensuring valid pages are correctly tracked and recycled. Additionally, update the stale comment for struct qede_agg_info::buffer to reflect its current usage.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • 8a8633978b842c88fbcfe00d4e5dde96048f630e to < e2214e2793154b745436e46c6a9a7985d9b3781daffected
  • 8a8633978b842c88fbcfe00d4e5dde96048f630e to < dd8bc0a9d87d2b048711edd17ba7286432edd285affected
  • 8a8633978b842c88fbcfe00d4e5dde96048f630e to < fa7c9bd2c4a8de167e2fb32968ca4d91dd774375affected
  • 8a8633978b842c88fbcfe00d4e5dde96048f630e to < a5e1fdc126ab337d601d1a00cc4b47910679d005affected
  • 8a8633978b842c88fbcfe00d4e5dde96048f630e to < 7f911e208b3ca2c76d9f2bbba1f54b9403568c10affected
  • 8a8633978b842c88fbcfe00d4e5dde96048f630e to < 2a952fb1b20d83e83ca852773e6188511f7d2191affected
  • 8a8633978b842c88fbcfe00d4e5dde96048f630e to < f5c8619ccbd70102642120c4c6fda1c048a555fdaffected
  • 8a8633978b842c88fbcfe00d4e5dde96048f630e to < 06aa3d26327f24edd039ff249672fdf6f2ba5695affected

Linux Linux

Default version status: affected

  • 4.18affected
  • 0 to < 4.18unaffected
  • 5.10.270 to ≤ 5.10.*unaffected
  • 5.15.221 to ≤ 5.15.*unaffected
  • 6.1.188 to ≤ 6.1.*unaffected
  • 6.6.157 to ≤ 6.6.*unaffected
  • 6.12.109 to ≤ 6.12.*unaffected
  • 6.18.50 to ≤ 6.18.*unaffected
  • 7.2.4 to ≤ 7.2.*unaffected
  • 7.3 to ≤ *unaffected

References