Home

Description

In the Linux kernel, the following vulnerability has been resolved: rcu: Protect rcu_print_task_exp_stall() ->exp_tasks access For kernels built with CONFIG_PREEMPT_RCU=y, the following scenario can result in a NULL-pointer dereference: CPU1 CPU2 rcu_preempt_deferred_qs_irqrestore rcu_print_task_exp_stall if (special.b.blocked) READ_ONCE(rnp->exp_tasks) != NULL raw_spin_lock_rcu_node np = rcu_next_node_entry(t, rnp) if (&t->rcu_node_entry == rnp->exp_tasks) WRITE_ONCE(rnp->exp_tasks, np) .... raw_spin_unlock_irqrestore_rcu_node raw_spin_lock_irqsave_rcu_node t = list_entry(rnp->exp_tasks->prev, struct task_struct, rcu_node_entry) (if rnp->exp_tasks is NULL, this will dereference a NULL pointer) The problem is that CPU2 accesses the rcu_node structure's->exp_tasks field without holding the rcu_node structure's ->lock and CPU2 did not observe CPU1's change to rcu_node structure's ->exp_tasks in time. Therefore, if CPU1 sets rcu_node structure's->exp_tasks pointer to NULL, then CPU2 might dereference that NULL pointer. This commit therefore holds the rcu_node structure's ->lock while accessing that structure's->exp_tasks field. [ paulmck: Apply Frederic Weisbecker feedback. ]

PUBLISHED Reserved 2025-09-17 | Published 2025-09-18 | Updated 2025-09-18 | Assigner Linux

Product status

Default status
unaffected

1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before a7d21b8585894e6fff973f6ddae42f02b13f600f
affected

1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before e30a55e98ae6c44253d8b129efefd5da5bc6e3bc
affected

1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before d0a8c0e31a09ec1efd53079083e2a677956b4d91
affected

1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 2bc0ae94ef1f9ed322d8ee439de3239ea3632ab2
affected

1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 3c1566bca3f8349f12b75d0a2d5e4a20ad6262ec
affected

Default status
affected

5.10.181 (semver)
unaffected

5.15.113 (semver)
unaffected

6.1.30 (semver)
unaffected

6.3.4 (semver)
unaffected

6.4 (original_commit_for_fix)
unaffected

References

git.kernel.org/...c/a7d21b8585894e6fff973f6ddae42f02b13f600f

git.kernel.org/...c/e30a55e98ae6c44253d8b129efefd5da5bc6e3bc

git.kernel.org/...c/d0a8c0e31a09ec1efd53079083e2a677956b4d91

git.kernel.org/...c/2bc0ae94ef1f9ed322d8ee439de3239ea3632ab2

git.kernel.org/...c/3c1566bca3f8349f12b75d0a2d5e4a20ad6262ec

cve.org (CVE-2023-53419)

nvd.nist.gov (CVE-2023-53419)

Download JSON