[<prev] [next>] [day] [month] [year] [list]
Message-ID: <1565684094.7043.3.camel@suse.com>
Date: Tue, 13 Aug 2019 10:14:54 +0200
From: Oliver Neukum <oneukum@...e.com>
To: Hillf Danton <hdanton@...a.com>,
syzbot <syzbot+a7a6b9c609b9457c62c6@...kaller.appspotmail.com>
Cc: gustavo@...eddedor.com, Jiri Slaby <jirislaby@...il.com>,
andreyknvl@...gle.com, syzkaller-bugs@...glegroups.com,
gregkh@...uxfoundation.org, stern@...land.harvard.edu,
Jiri Kosina <jkosina@...e.cz>, linux-input@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-usb@...r.kernel.org
Subject: Re: WARNING in usbhid_raw_request/usb_submit_urb
Am Dienstag, den 13.08.2019, 12:26 +0800 schrieb Hillf Danton:
> [respin with the mess in Cc list cleaned up]
> Followup of commit e3e14de50dff ("HID: fix start/stop cycle in usbhid driver")
>
> --- a/drivers/hid/usbhid/hid-core.c
> +++ b/drivers/hid/usbhid/hid-core.c
> @@ -1214,6 +1214,8 @@ static void usbhid_stop(struct hid_devic
>
> hid->claimed = 0;
>
> + if (!usbhid->urbin) /* freeing buffers only once */
> + return;
> usb_free_urb(usbhid->urbin);
> usb_free_urb(usbhid->urbctrl);
> usb_free_urb(usbhid->urbout);
This looks rather suspicious. Why is stop() called multiple times?
Do we have a refcounting issue? If not, what controls locking?
Regards
Oliver
Powered by blists - more mailing lists