Back

MEDIUM

rcutorture: Fix rcutorture_one_extend_check() splat in RT kernels

Published Sep 11, 2025

Description

For built with CONFIG_PREEMPT_RT=y kernels, running rcutorture tests resulted in the following splat:

[ 68.797425] rcutorture_one_extend_check during change: Current 0x1 To add 0x1 To remove 0x0 preempt_count() 0x0 [ 68.797533] WARNING: CPU: 2 PID: 512 at kernel/rcu/rcutorture.c:1993 rcutorture_one_extend_check+0x419/0x560 [rcutorture] [ 68.797601] Call Trace: [ 68.797602] <TASK> [ 68.797619] ? lockdep_softirqs_off+0xa5/0x160 [ 68.797631] rcutorture_one_extend+0x18e/0xcc0 [rcutorture 2466dbd2ff34dbaa36049cb323a80c3306ac997c] [ 68.797646] ? local_clock+0x19/0x40 [ 68.797659] rcu_torture_one_read+0xf0/0x280 [rcutorture 2466dbd2ff34dbaa36049cb323a80c3306ac997c] [ 68.797678] ? __pfx_rcu_torture_one_read+0x10/0x10 [rcutorture 2466dbd2ff34dbaa36049cb323a80c3306ac997c] [ 68.797804] ? __pfx_rcu_torture_timer+0x10/0x10 [rcutorture 2466dbd2ff34dbaa36049cb323a80c3306ac997c] [ 68.797815] rcu-torture: rcu_torture_reader task started [ 68.797824] rcu-torture: Creating rcu_torture_reader task [ 68.797824] rcu_torture_reader+0x238/0x580 [rcutorture 2466dbd2ff34dbaa36049cb323a80c3306ac997c] [ 68.797836] ? kvm_sched_clock_read+0x15/0x30

Disable BH does not change the SOFTIRQ corresponding bits in preempt_count() for RT kernels, this commit therefore use softirq_count() to check the if BH is disabled.

Affected products

Remediation

Red Hat mitigation

To mitigate this issue, prevent the `rcutorture` kernel module from loading. This can be achieved by blacklisting the module. Create a file `/etc/modprobe.d/blacklist-rcutorture.conf` with the following content: `blacklist rcutorture` After creating the file, regenerate the initramfs and reboot the system for the changes to take effect: `dracut -f -v` `reboot` This mitigation may impact kernel development or testing environments that rely on the `rcutorture` module. A system reboot is required for the changes to take effect.

Weaknesses (1)

References (9)

Change history (0)

No recorded changes yet.

Sources
CVE.org / MITRE
Status PUBLISHED
Assigner Linux
Published Sep 11, 2025
Updated May 11, 2026
Reserved Apr 16, 2025
NVD
Status Analyzed
Modified Jun 17, 2026
Red Hat
Severity Low
Public date Sep 11, 2025
ENISA EUVD
Assigner Linux
Published Sep 11, 2025
Updated May 11, 2026
Exploited since n/a
EUVD-2025-28966