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

  net/mlx5e: Move representor vnic reporter to eswitch devlink port

  The representor vnic devlink health reporter is created and destroyed
  along the representor netdev (u…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  net/mlx5e: Move representor vnic reporter to eswitch devlink port

  The representor vnic devlink health reporter is created and destroyed
  along the representor netdev (u…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= cf14af140a5ad0937d385ce693100f33f02e9c54 <
    dcaba72c85c14fe7393a59d61695941e6ccbd7d7
  - >-
    Linux >= cf14af140a5ad0937d385ce693100f33f02e9c54 <
    d1fcff9b39bac188ef62a77ebd176484be928ec2
  - >-
    Linux >= cf14af140a5ad0937d385ce693100f33f02e9c54 <
    7f26a5e8040b4957ef4dbdfcde6cc7ba2db53937
  - Linux 6.4
published: '2026-09-25'
updated: '2026-09-25'
sourceUpdated: '2026-09-25T11:17:23.970'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-97962'
references:
  - url: 'https://git.kernel.org/stable/c/7f26a5e8040b4957ef4dbdfcde6cc7ba2db53937'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/d1fcff9b39bac188ef62a77ebd176484be928ec2'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/dcaba72c85c14fe7393a59d61695941e6ccbd7d7'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
  - cve.org
ingestedAt: '2026-09-25T11:06:38.874Z'
---

## Overview

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

net/mlx5e: Move representor vnic reporter to eswitch devlink port

The representor vnic devlink health reporter is created and destroyed
along the representor netdev (un)load path, which is not serialized by
the devlink instance lock. Destroying the reporter from there triggers
a devl_assert_locked() splat on driver unbind:
  WARNING: net/devlink/core.c:259 at devl_assert_locked+0x54/0x70, CPU#2: bash/3758
  Modules linked in: mlx5_vdpa vringh vdpa mlx5_ib mlx5_fwctl mlx5_core ...
  CPU: 2 UID: 0 PID: 3758 Comm: bash Tainted: G        W           6.19.0+ #1 PREEMPT
  Tainted: [W]=WARN
  Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), ...
  RIP: 0010:devl_assert_locked+0x54/0x70
  Call Trace:
   <TASK>
   devl_health_reporter_destroy+0x3a/0x1b0
   mlx5e_vport_rep_unload+0x12d/0x2b0 [mlx5_core]
   mlx5_eswitch_unregister_vport_reps+0x1b8/0x220 [mlx5_core]
   ? __esw_offloads_unload_rep+0x190/0x190 [mlx5_core]
   ? kernfs_remove_by_name_ns+0xc3/0xf0
   device_release_driver_internal+0x3b2/0x560
   unbind_store+0xce/0xf0

Move the reporter's lifecycle to the eswitch devlink port (un)register
paths, which are already serialized by the devlink instance lock, and
store the handle on mlx5_devlink_port. Use the port's mlx5_vport as the
reporter priv since the diagnose callback only needs a device handle and
a vport number, and mlx5_vport carries both and is initialized before
any representor driver probes.

## Remediation

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