diff options
author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2018-10-05 02:50:48 +0200 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2018-10-05 20:42:32 +0200 |
commit | cecf10704899467a787975e3d94a1f0129b9688e (patch) | |
tree | 07edd95c8cff1b92df3b63907f3a5a4bdf808574 /drivers/input/misc | |
parent | Input: evdev - add a schedule point in evdev_write() (diff) | |
download | linux-cecf10704899467a787975e3d94a1f0129b9688e.tar.xz linux-cecf10704899467a787975e3d94a1f0129b9688e.zip |
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')
-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; |