On October 17, 2018 8:35:15 AM PDT, Christopher Lameter <cl@xxxxxxxxx> wrote: >On Tue, 16 Oct 2018, Dmitry Torokhov wrote: > >> On Thu, Sep 27, 2018 at 07:35:37AM -0700, Matthew Wilcox wrote: >> > On Mon, Sep 24, 2018 at 11:41:58AM -0700, Dmitry Torokhov wrote: >> > > > How large is the allocation? AFACIT nRequests larger than >KMALLOC_MAX_SIZE >> > > > are larger than the maximum allowed by the page allocator. Thus >the warning >> > > > and the NULL return. >> > > >> > > The size in this particular case is being derived from a value >passed >> > > from userspace. Input core does not care about any limits on size >of >> > > memory kmalloc() can support and is perfectly happy with getting >NULL >> > > and telling userspace to go away with their silly requests by >returning >> > > -ENOMEM. >> > > >> > > For the record: I definitely do not want to pre-sanitize size >neither in >> > > uinput nor in input core. >> > >> > Probably should be using kvzalloc then. >> >> No. No sane input device can track so many contacts so we need to use >> kvzalloc(). Failing to allocate memory is proper response here. > >What is a "contact" here? Are we talking about SG segments? No, we are talking about maximum number of fingers a person can have. Devices don't usually track more than 10 distinct contacts on the touch surface at a time. Thanks. -- Dmitry