In the Linux kernel, the following vulnerability has been resolved:
rcuscale: Move rcuscalewriter() scheduletimeoutuninterruptible() to _idle()
The rcuscale.holdoff module parameter can be used to delay the start of rcuscalewriter() kthread. However, the hung-task timeout will trigger when the timeout specified by rcuscale.holdoff is greater than hungtasktimeout_secs:
runqemu kvm nographic slirp qemuparams="-smp 4 -m 2048M" bootparams="rcuscale.shutdown=0 rcuscale.holdoff=300"
[ 247.071753] INFO: task rcuscalewrite: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/hungtasktimeoutsecs" disables this message. [ 247.074331] task:rcuscalewrite state:D stack:30144 pid:59 ppid:2 flags:0x00004000 [ 247.075346] Call Trace: [ 247.075660] <TASK> [ 247.075965] schedule+0x635/0x1280 [ 247.076448] ? _pfxschedule+0x10/0x10 [ 247.076967] ? scheduletimeout+0x2dc/0x4d0 [ 247.077471] ? _pfxlockrelease+0x10/0x10 [ 247.078018] ? enqueuetimer+0xe2/0x220 [ 247.078522] schedule+0x84/0x120 [ 247.078957] scheduletimeout+0x2e1/0x4d0 [ 247.079447] ? _pfxscheduletimeout+0x10/0x10 [ 247.080032] ? _pfxrcuscalewriter+0x10/0x10 [ 247.080591] ? _pfxprocesstimeout+0x10/0x10 [ 247.081163] ? _pfxschedsetfifolow+0x10/0x10 [ 247.081760] ? _pfxrcuscalewriter+0x10/0x10 [ 247.082287] rcuscalewriter+0x6b1/0x7f0 [ 247.082773] ? markheldlocks+0x29/0xa0 [ 247.083252] ? _pfxrcuscalewriter+0x10/0x10 [ 247.083865] ? _pfxrcuscalewriter+0x10/0x10 [ 247.084412] kthread+0x179/0x1c0 [ 247.084759] ? _pfxkthread+0x10/0x10 [ 247.085098] retfromfork+0x2c/0x50 [ 247.085433] </TASK>
This commit therefore replaces scheduletimeoutuninterruptible() with scheduletimeoutidle().
{
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/54xxx/CVE-2023-54246.json",
"cna_assigner": "Linux"
}