Re: WARNING: kmalloc bug in input_mt_init_slots
From: Dmitry Torokhov
Date: Wed Oct 17 2018 - 11:43:44 EST
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
>> > > > are larger than the maximum allowed by the page allocator. Thus
>> > > > and the NULL return.
>> > >
>> > > The size in this particular case is being derived from a value
>> > > from userspace. Input core does not care about any limits on size
>> > > memory kmalloc() can support and is perfectly happy with getting
>> > > and telling userspace to go away with their silly requests by
>> > > -ENOMEM.
>> > >
>> > > For the record: I definitely do not want to pre-sanitize size
>> > > 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.