---
id: CVE-2025-38704
title: 'rcu/nocb: Fix possible invalid rdp''s->nocb_cb_kthread pointer access'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  rcu/nocb: Fix possible invalid rdp's->nocb_cb_kthread pointer access

  In the preparation stage of CPU online, if the corresponding
  the rdp's->nocb_cb_kthread does not e…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 3a5761dc025da47960755ac64d9fbf1c32e8cd80 <
    b097ae798298885695c339d390b48b4e39619fa7
  - >-
    Linux >= 3a5761dc025da47960755ac64d9fbf1c32e8cd80 <
    3da45ec1e485a1a5ad31fe9ddd467c7ee5ae4ef9
  - >-
    Linux >= 3a5761dc025da47960755ac64d9fbf1c32e8cd80 <
    cce3d027227c69e85896af9fbc6fa9af5c68f067
  - >-
    Linux >= 3a5761dc025da47960755ac64d9fbf1c32e8cd80 <
    1c951683a720b17c9ecaad1932bc95b29044611f
  - >-
    Linux >= 3a5761dc025da47960755ac64d9fbf1c32e8cd80 <
    9b5ec8e6b31755288a07b3abeeab8cd38e9d3c9d
  - >-
    Linux >= 3a5761dc025da47960755ac64d9fbf1c32e8cd80 <
    1bba3900ca18bdae28d1b9fa10f16a8f8cb2ada1
  - Linux 6.0
published: '2025-09-04'
updated: '2026-09-08'
sourceUpdated: '2026-09-08T08:41:56.846Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2025-38704'
references:
  - url: 'https://git.kernel.org/stable/c/b097ae798298885695c339d390b48b4e39619fa7'
  - url: 'https://git.kernel.org/stable/c/3da45ec1e485a1a5ad31fe9ddd467c7ee5ae4ef9'
  - url: 'https://git.kernel.org/stable/c/cce3d027227c69e85896af9fbc6fa9af5c68f067'
  - url: 'https://git.kernel.org/stable/c/1c951683a720b17c9ecaad1932bc95b29044611f'
  - url: 'https://git.kernel.org/stable/c/9b5ec8e6b31755288a07b3abeeab8cd38e9d3c9d'
  - url: 'https://git.kernel.org/stable/c/1bba3900ca18bdae28d1b9fa10f16a8f8cb2ada1'
tags:
  - cve.org
epss: 0.00166
epssPercentile: 0.06255
ingestedAt: '2026-09-08T15:33:26.997Z'
---

## Overview

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

rcu/nocb: Fix possible invalid rdp's->nocb_cb_kthread pointer access

In the preparation stage of CPU online, if the corresponding
the rdp's->nocb_cb_kthread does not exist, will be created,
there is a situation where the rdp's rcuop kthreads creation fails,
and then de-offload this CPU's rdp, does not assign this CPU's
rdp->nocb_cb_kthread pointer, but this rdp's->nocb_gp_rdp and
rdp's->rdp_gp->nocb_gp_kthread is still valid.

This will cause the subsequent re-offload operation of this offline
CPU, which will pass the conditional check and the kthread_unpark()
will access invalid rdp's->nocb_cb_kthread pointer.

This commit therefore use rdp's->nocb_gp_kthread instead of
rdp_gp's->nocb_gp_kthread for safety check.

## Affected

- `Linux >= 3a5761dc025da47960755ac64d9fbf1c32e8cd80 < b097ae798298885695c339d390b48b4e39619fa7`
- `Linux >= 3a5761dc025da47960755ac64d9fbf1c32e8cd80 < 3da45ec1e485a1a5ad31fe9ddd467c7ee5ae4ef9`
- `Linux >= 3a5761dc025da47960755ac64d9fbf1c32e8cd80 < cce3d027227c69e85896af9fbc6fa9af5c68f067`
- `Linux >= 3a5761dc025da47960755ac64d9fbf1c32e8cd80 < 1c951683a720b17c9ecaad1932bc95b29044611f`
- `Linux >= 3a5761dc025da47960755ac64d9fbf1c32e8cd80 < 9b5ec8e6b31755288a07b3abeeab8cd38e9d3c9d`
- `Linux >= 3a5761dc025da47960755ac64d9fbf1c32e8cd80 < 1bba3900ca18bdae28d1b9fa10f16a8f8cb2ada1`
- `Linux 6.0`

## Remediation

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