CVE-2023-54246
Description
In the Linux kernel, the following vulnerability has been resolved:
rcuscale: Move rcu_scale_writer() schedule_timeout_uninterruptible() to _idle()
The rcuscale.holdoff module parameter can be used to delay the start of rcu_scale_writer() kthread. However, the hung-task timeout will trigger when the timeout specified by rcuscale.holdoff is greater than hung_task_timeout_secs:
runqemu kvm nographic slirp qemuparams="-smp 4 -m 2048M" bootparams="rcuscale.shutdown=0 rcuscale.holdoff=300"
[ 247.071753] INFO: task rcu_scale_write:59 blocked for more than 122 seconds. [ 247.072529] Not tainted 6.4.0-rc1-00134-gb9ed6de8d4ff #7 [ 247.073400] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 247.074331] task:rcu_scale_write state:D stack:30144 pid:59 ppid:2 flags:0x00004000 [ 247.075346] Call Trace: [ 247.075660] [ 247.075965] __schedule+0x635/0x1280 [ 247.076448] ? __pfx___schedule+0x10/0x10 [ 247.076967] ? schedule_timeout+0x2dc/0x4d0 [ 247.077471] ? __pfx_lock_release+0x10/0x10 [ 247.078018] ? enqueue_timer+0xe2/0x220 [ 247.078522] schedule+0x84/0x120 [ 247.078957] schedule_timeout+0x2e1/0x4d0 [ 247.079447] ? __pfx_schedule_timeout+0x10/0x10 [ 247.080032] ? __pfx_rcu_scale_writer+0x10/0x10 [ 247.080591] ? __pfx_process_timeout+0x10/0x10 [ 247.081163] ? __pfx_sched_set_fifo_low+0x10/0x10 [ 247.081760] ? __pfx_rcu_scale_writer+0x10/0x10 [ 247.082287] rcu_scale_writer+0x6b1/0x7f0 [ 247.082773] ? mark_held_locks+0x29/0xa0 [ 247.083252] ? __pfx_rcu_scale_writer+0x10/0x10 [ 247.083865] ? __pfx_rcu_scale_writer+0x10/0x10 [ 247.084412] kthread+0x179/0x1c0 [ 247.084759] ? __pfx_kthread+0x10/0x10 [ 247.085098] ret_from_fork+0x2c/0x50 [ 247.085433]
This commit therefore replaces schedule_timeout_uninterruptible() with schedule_timeout_idle().
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
A flaw in the Linux kernel's rcuscale module causes false positive hung task warnings when the holdoff parameter exceeds the hung task timeout.
In the Linux kernel's rcuscale module, the rcu_scale_writer kthread uses schedule_timeout_uninterruptible() to implement a delay based on the rcuscale.holdoff parameter. If the holdoff value is greater than hung_task_timeout_secs, the hung task watchdog incorrectly flags the writer thread as hung, generating false positive warnings.
The bug is triggered by loading the rcuscale module with a large holdoff value (e.g., rcuscale.holdoff=300). This requires root privileges or the ability to set kernel boot parameters. The issue manifests as spurious hung task messages, which can cause unnecessary alerts and system monitoring noise.
Impact is limited to false positive hung task detections; no privilege escalation or data corruption occurs. However, these false warnings may lead to confusion or inappropriate automated actions by system administrators or monitoring tools.
The fix in the Linux kernel replaces schedule_timeout_uninterruptible() with schedule_timeout_idle(), which avoids provoking the hung task detector. Patched versions include various stable kernel releases.
AI Insight generated on May 19, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected products
1Patches
555887adc76e14f03fba096bf83ed0cdb6ae09416dccb31fde60c122a1614Vulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
5- git.kernel.org/stable/c/4f03fba096bfded90e0d71eba8839a46922164d1nvd
- git.kernel.org/stable/c/55887adc76e19aec9763186e2c1d0a3481d20e96nvd
- git.kernel.org/stable/c/83ed0cdb6ae0383dd14b02375c353773836884ednvd
- git.kernel.org/stable/c/9416dccb31fdb190d25d57e97674f232651f6560nvd
- git.kernel.org/stable/c/e60c122a1614b4f65b29a7bef9d83b9fd30e937anvd
News mentions
0No linked articles in our index yet.