Re: WARNING in input_register_device

From: Eric Biggers
Date: Fri Nov 06 2020 - 12:03:27 EST


On Fri, Nov 06, 2020 at 03:03:36PM +0100, Greg KH wrote:
> On Fri, Nov 06, 2020 at 04:43:17AM -0800, syzbot wrote:
> > Hello,
> >
> > syzbot found the following issue on:
> >
> > HEAD commit: 9e39aef3 usb: misc: brcmstb-usb-pinmap: Make sync_all_pins..
> > git tree: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing
> > console output: https://syzkaller.appspot.com/x/log.txt?x=145ffa8a500000
> > kernel config: https://syzkaller.appspot.com/x/.config?x=a05f5efbb00b1465
> > dashboard link: https://syzkaller.appspot.com/bug?extid=92340f7b2b4789907fdb
> > compiler: gcc (GCC) 10.1.0-syz 20200507
> > syz repro: https://syzkaller.appspot.com/x/repro.syz?x=172ae7a8500000
> > C reproducer: https://syzkaller.appspot.com/x/repro.c?x=13b24746500000
> >
> > IMPORTANT: if you fix the issue, please add the following tag to the commit:
> > Reported-by: syzbot+92340f7b2b4789907fdb@xxxxxxxxxxxxxxxxxxxxxxxxx
> >
> > microsoft 0003:045E:07DA.0001: unknown main item tag 0x0
> > HID 045e:07da: Invalid code 65791 type 1
> > ------------[ cut here ]------------
> > init_uevent_argv: buffer size too small
> > WARNING: CPU: 0 PID: 5 at lib/kobject_uevent.c:259 init_uevent_argv lib/kobject_uevent.c:259 [inline]
> > WARNING: CPU: 0 PID: 5 at lib/kobject_uevent.c:259 kobject_uevent_env+0x1640/0x1680 lib/kobject_uevent.c:608
>
> You gave it a device with a buffer that was "too small", and it rejected
> it.
>
> Which, aside from the huge warning message, is to be expected, so I
> don't think this is really a bug here.
>

The purpose of WARN is for reporting recoverable kernel bugs. So a reachable
WARN is a bug. Either it is reporting one, or the bug is that the use of WARN
is wrong.

- Eric