Hi Greg, Stable team,
Please apply the following rcu-tasks fixes to 5.10 and 5.15 stable kernel. They cleanly apply and are required to fix a warning [1] that shows up during rcutorture testing and are all bug fixes merged into Linus tree.
I have verified them on the latest 5.10 and 5.15 stable kernels.
commit 46aa886c483f57ef13cd5ea0a85e70b93eb1d381 rcu-tasks: Fix IPI failure handling in trc_wait_for_one_reader
commit cbe0d8d91415c9692fe88191940d98952b6855d9 rcu-tasks: Wait for trc_read_check_handler() IPIs
commit 18f08e758f34e6dfe0668bee51bd2af7adacf381 rcu-tasks: Add trc_inspect_reader() checks for exiting critical section
thanks,
- Joel [1] Snippet of dmesg showing warning:
[ 2701.802174] WARNING: CPU: 0 PID: 11 at kernel/rcu/tasks.h:978 rcu_tasks_trace_pregp_step+0x46/0x50 [ 2701.820952] Modules linked in: [ 2701.827014] CPU: 0 PID: 11 Comm: rcu_tasks_trace Not tainted 5.10.193-rc1+ #531 [ 2701.858299] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 [ 2701.876050] RIP: 0010:rcu_tasks_trace_pregp_step+0x46/0x50 [ 2701.907104] Code: 48 8b 04 c5 e0 56 c1 b3 80 3c 18 00 75 1c 48 c7 c6 10 37 07 b4 e8 7a fb 38 00 3b 05 a8 bc 99 01 89 c7 72 d9 5b e9 ea 56 f9 ff <0f> 0b eb e0 66 0f 1f 44 00 00 55 53 48 89 fb 48 89 77 08 48 c7 07 [ 2701.967363] RSP: 0018:ffffbd5540063e40 EFLAGS: 00010202 [ 2701.977403] RAX: ffffa426df580000 RBX: 000000000001fa40 RCX: 0000000000000000 [ 2702.007399] RDX: 000000000000000f RSI: 0000000000000000 RDI: 0000000000000003 [ 2702.070872] RBP: ffffbd5540063e60 R08: 0000000000000000 R09: ffffffffb4073710 [ 2702.104722] R10: 0000000000000001 R11: 0000000000000001 R12: ffffa426c1069e60 [ 2702.136555] R13: ffffffffb3f32ae0 R14: ffffffffb3f32af0 R15: ffffa426c1178dc0 [ 2702.183571] FS: 0000000000000000(0000) GS:ffffa426df400000(0000) knlGS:0000000000000000 [ 2702.239210] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 2702.326861] CR2: 0000000000402000 CR3: 00000000020e0000 CR4: 00000000000006f0 [ 2702.353000] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 2702.363008] smpboot: CPU 3 is now offline [ 2702.386004] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 2702.386007] Call Trace: [ 2702.386580] ? __warn+0x7c/0x100 [ 2702.386588] ? rcu_tasks_trace_pregp_step+0x46/0x50 [ 2702.386725] ? report_bug+0x99/0xc0 [ 2702.386916] ? handle_bug+0x41/0x80 [ 2702.387021] ? exc_invalid_op+0x13/0x60 [ 2702.387048] ? asm_exc_invalid_op+0x12/0x20 [ 2702.387054] ? rcu_tasks_trace_pregp_step+0x46/0x50 [ 2702.387057] rcu_tasks_wait_gp+0x4b/0x260 [ 2702.387059] ? schedule_timeout+0x9a/0x150 [ 2702.387062] rcu_tasks_kthread+0xf4/0x1d0 [ 2702.387065] ? wait_woken+0x80/0x80 [ 2702.387067] ? rcu_barrier_tasks_trace+0xa0/0xa0 [ 2702.387071] kthread+0x137/0x160 [ 2702.387140] ? __kthread_bind_mask+0x60/0x60 [ 2702.387158] ret_from_fork+0x22/0x30