CVE-2025-38704

Updated on 04 Sep 2025

Severity

7.8 High severity

Details

CVSS score
7.8
CVSS vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Overview

About vulnerability

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.

Details

Affected packages:
kernel @ 4.18.0 (+15 more)

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.

Fixes