In the Linux kernel, the following vulnerability has been resolved:
w1: fix WARNING after calling w1_process()
I got the following WARNING message while removing driver(ds2482):
------------[ cut here ]------------ do not call blocking ops when !TASKRUNNING; state=1 set at [<000000002d50bfb6>] w1process+0x9e/0x1d0 [wire] WARNING: CPU: 0 PID: 262 at kernel/sched/core.c:9817 mightsleep+0x98/0xa0 CPU: 0 PID: 262 Comm: w1busmaster1 Tainted: G N 6.1.0-rc3+ #307 RIP: 0010:mightsleep+0x98/0xa0 Call Trace: exitsignals+0x6c/0x550 doexit+0x2b4/0x17e0 kthreadexit+0x52/0x60 kthread+0x16d/0x1e0 retfrom_fork+0x1f/0x30
The state of task is set to TASKINTERRUPTIBLE in loop in w1process(), set it to TASK_RUNNING when it breaks out of the loop to avoid the warning.