Subject: Re: [next-20230322] Kernel WARN at kernel/workqueue.c:3182 (rcutorture)

From: Sachin Sant <[email-masked]>
Date: Thu, 23 Mar 2023 23:00:59 +0530

>> [ 3629.243407] NIP [00007fff8cd39558] 0x7fff8cd39558
>> [ 3629.243410] LR [000000010d800398] 0x10d800398
>> [ 3629.243413] --- interrupt: c00
>> [ 3629.243415] Code: 419dffa4 e93a0078 39400001 552907be 2f890000 7d20579e 0b090000 e95a0078 e91a0080 39200001 7fa85000 7d204f9e <0b090000> 7f23cb78 4bfffd65 0b030000 
>> [ 3629.243430] ---[ end trace 0000000000000000 ]—
>> 
>> These warnings are repeated few times. The LTP test is marked as PASS.
>> 
>> Git bisect point to the following patch
>> commit f46a5170e6e7d5f836f2199fe82cdb0b4363427f
>>    srcu: Use static init for statically allocated in-module srcu_struct
> 
> Hello, Sachin, and it looks like you hit something that Zqiang and I
> have been tracking down.  I am guessing that you were using modprobe
> and rmmod to make this happen, and that this happened at rmmod time.
> 
Yes, the LTP test script rcu_torture.sh relies on modprobe to load/unload
the rcutorture module.

> Whatever the reproducer, does the following patch help?
> 
> Thanx, Paul
> 

Thank you for the patch. Yes, with this patch applied, the test completes
successfully without the reported warning.

- Sachin