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: w1bus_master1 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 retfromfork+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.
{
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/49xxx/CVE-2022-49751.json",
"cna_assigner": "Linux"
}[
{
"target": {
"function": "w1_process",
"file": "drivers/w1/w1.c"
},
"id": "CVE-2022-49751-66a0253c",
"digest": {
"function_hash": "81791702898411997538398985080263320654",
"length": 674.0
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@216f35db6ec6a667cd9db4838d657c1d2f4684da",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Function"
},
{
"target": {
"file": "drivers/w1/w1.c"
},
"id": "CVE-2022-49751-7edc8af5",
"digest": {
"line_hashes": [
"257786294030378276273661539681062352575",
"34878100554144538902546810167422013753",
"153240154673489194057534454518469381351",
"191268576682647331337895855794479025883",
"260979631311434958339823288098626123561"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@216f35db6ec6a667cd9db4838d657c1d2f4684da",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line"
}
]
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-49751.json"