Hi Dmitry, On Thu, Aug 15, 2024 at 11:41:53AM -0700, Dmitry Torokhov wrote: > Limit amount of data that can be written into an evdev instance at > a given time to 4096 bytes (170 input events) to avoid holding > evdev->mutex for too long and starving other users. > > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Reviewed-by: Jeff LaBundy <jeff@xxxxxxxxxxx> > --- > drivers/input/evdev.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c > index a8ce3d140722..eb4906552ac8 100644 > --- a/drivers/input/evdev.c > +++ b/drivers/input/evdev.c > @@ -498,6 +498,13 @@ static ssize_t evdev_write(struct file *file, const char __user *buffer, > struct input_event event; > int retval = 0; > > + /* > + * Limit amount of data we inject into the input subsystem so that > + * we do not hold evdev->mutex for too long. 4096 bytes corresponds > + * to 170 input events. > + */ > + count = min(count, 4096); > + > if (count != 0 && count < input_event_size()) > return -EINVAL; > > -- > 2.46.0.184.g6999bdac58-goog > > > -- > Dmitry Kind regards, Jeff LaBundy