diff options
author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2018-10-05 03:50:48 +0300 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2018-10-05 21:42:32 +0300 |
commit | cecf10704899467a787975e3d94a1f0129b9688e (patch) | |
tree | 07edd95c8cff1b92df3b63907f3a5a4bdf808574 /drivers/input/misc/uinput.c | |
parent | 36d2582ff235b4e01ad64a734c877a52dc762d9c (diff) | |
download | linux-cecf10704899467a787975e3d94a1f0129b9688e.tar.xz |
Input: uinput - add a schedule point in uinput_inject_events()
Large writes to uinput 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>
Diffstat (limited to 'drivers/input/misc/uinput.c')
-rw-r--r-- | drivers/input/misc/uinput.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/input/misc/uinput.c b/drivers/input/misc/uinput.c index eb14ddf69346..8ec483e8688b 100644 --- a/drivers/input/misc/uinput.c +++ b/drivers/input/misc/uinput.c @@ -598,6 +598,7 @@ static ssize_t uinput_inject_events(struct uinput_device *udev, input_event(udev->dev, ev.type, ev.code, ev.value); bytes += input_event_size(); + cond_resched(); } return bytes; |