High · published May 8, 2025
In the Linux kernel, the following vulnerability has been resolved:
ksmbd: fix WARNING "do not call blocking ops when !TASK_RUNNING"
wait_event_timeout() will set the state of the current
task to TASK_UNINTERRUPTIBLE, before doing the condition check. This
means that ksmbd_durable_scavenger_alive() will try to acquire the mutex
while already in a sleeping state. The scheduler warns us by giving
the following warning:
do not call blocking ops when !TASK_RUNNING; state=2 set at
[<0000000061515a6f>] prepare_to_wait_event+0x9f/0x6c0
WARNING: CPU: 2 PID: 4147 at kernel/sched/core.c:10099 __might_sleep+0x12f/0x160
mutex lock is not needed in ksmbd_durable_scavenger_alive().
| Product | Versions | Fixed in |
|---|---|---|
| linux/linux_kernel | < 6.12.26 | 6.12.26 |
| linux/linux_kernel | ≥ 6.13, < 6.14.5 | 6.14.5 |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |