---
id: CVE-2026-98692
title: 'thunderbolt: Make the DP tunnel activation callback mandatory'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  thunderbolt: Make the DP tunnel activation callback mandatory

  tb_tunnel_alloc_dp() takes an optional callback which is run from
  dprx_work once the DPRX capabilities re…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= d6d458d42e1e1544a18f37f1d5c840e00d5261b9 <
    47d60ea801fc333a10c576691eca2e7840b02d3d
  - >-
    Linux >= d6d458d42e1e1544a18f37f1d5c840e00d5261b9 <
    12f5d8b85a66a0ac08d082517d92ce136f8c0d42
  - Linux 6.14
published: '2026-10-18'
updated: '2026-10-18'
sourceUpdated: '2026-10-18T15:46:16.794Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-98692'
references:
  - url: 'https://git.kernel.org/stable/c/47d60ea801fc333a10c576691eca2e7840b02d3d'
  - url: 'https://git.kernel.org/stable/c/12f5d8b85a66a0ac08d082517d92ce136f8c0d42'
tags:
  - cve.org
ingestedAt: '2026-10-18T16:47:32.528Z'
---

## Overview

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

thunderbolt: Make the DP tunnel activation callback mandatory

tb_tunnel_alloc_dp() takes an optional callback which is run from
dprx_work once the DPRX capabilities read has completed. Without that
callback tb_dp_dprx_start() reads the capabilities synchronously and
never queues the work. It however always takes a tunnel reference which
is only dropped by dprx_work itself or by tb_dp_dprx_stop() when
cancel_delayed_work() actually canceled that work. That reference is
thus leaked for every tunnel without a callback.

The only tunnels without one are those from tb_tunnel_discover_dp(),
which are activated again when restoring from hibernation.
Pass the callback to tb_tunnel_discover_dp() as well and drop the
synchronous path such that the DPRX capabilities are always read from
dprx_work. Hibernation restore then also no longer blocks for up to 12
seconds while waiting for that read to complete.

Also fix up the KUnit tests.

## Affected

- `Linux >= d6d458d42e1e1544a18f37f1d5c840e00d5261b9 < 47d60ea801fc333a10c576691eca2e7840b02d3d`
- `Linux >= d6d458d42e1e1544a18f37f1d5c840e00d5261b9 < 12f5d8b85a66a0ac08d082517d92ce136f8c0d42`
- `Linux 6.14`

## Remediation

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