From: Dmitry Torokhov dmitry.torokhov@gmail.com
[ Upstream commit 36d2582ff235b4e01ad64a734c877a52dc762d9c ]
Large writes to evdev interface may cause rcu stalls. Let's add cond_resched() to the loop to avoid this.
Reviewed-by: Paul E. McKenney paulmck@linux.ibm.com Signed-off-by: Dmitry Torokhov dmitry.torokhov@gmail.com Signed-off-by: Sasha Levin sashal@kernel.org --- drivers/input/evdev.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c index 925571475005..d6de0c0ed52f 100644 --- a/drivers/input/evdev.c +++ b/drivers/input/evdev.c @@ -558,6 +558,7 @@ static ssize_t evdev_write(struct file *file, const char __user *buffer,
input_inject_event(&evdev->handle, event.type, event.code, event.value); + cond_resched(); }
out: