lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 27 Jul 2009 19:59:18 -0400
From:	Valdis.Kletnieks@...edu
To:	Alan Stern <stern@...land.harvard.edu>
Cc:	Andrew Morton <akpm@...ux-foundation.org>,
	David Brownell <dbrownell@...rs.sourceforge.net>,
	Jiri Kosina <jkosina@...e.cz>,
	Greg Kroah-Hartman <gregkh@...e.de>,
	linux-kernel@...r.kernel.org, linux-usb@...r.kernel.org
Subject: Re: 31-rc3-mmotm0716 - dead USB trackball mouse kills entire system

On Fri, 24 Jul 2009 10:29:51 EDT, Alan Stern said:

> You're talking about messages like this:
> 
> > Jul 23 11:10:29 turing-police kernel: [  571.965568] drivers/hid/usbhid/hid-core.c: can't reset device, 0000:00:1d.7-8.3/input0, status -71
> 
> Those messages are produced by the following statement in
> drivers/hid/usbhid/hid-core.c:hid_reset():
> 
> 		err_hid("can't reset device, %s-%s/input%d, status %d",
> 				hid_to_usb_dev(hid)->bus->bus_name,
> 				hid_to_usb_dev(hid)->devpath,
> 				usbhid->ifnum, rc);
> 
> I don't know how long that subroutine and in particular that line have
> been present, but it has been quite a while.  Certainly since 2.6.20.

That code may have been there for a long time, but apparently something
*else* in the USB/HID pile of code changed, that we're now calling hid_reset()
where we didn't used to before, or hid_reset() never reached that err_hid()
call before, or something.

> > > This is a bug.  For more discussion see this thread:
> > > 
> > > 	http://marc.info/?t=124807676700001&r=1&w=2
> > > 
> > > You should try the patch given there.
> > 
> > OK, will do that, see if it improves things...
> 
> Let me know what happens.

Confirming - the patch in that thread prevents the system lockup I was
seeing.

So it looks like hid_reset() getting more chatty sometime in the last 2 weeks
was a red herring, and one I can't actually complain about - it was quite
legitimately whinging about not being able to reset a device that was in fact
dead in the water at the time.  Given that, and a working patch for ehci-hcd.c,
I'm having a hard time finding the enthusiasm to track down what exactly
changed in hid-core.c. :)

The change in hid-core.c behavior just had the bad luck to land in -mmotm at
the exact same time the bug in ehci-hcd.c landed.  So we had two user-visible
behavior changes in the same area of code at the same time.  Hilarity ensues. :)

Thanks for pointing me at the actual fix. ;)

Content of type "application/pgp-signature" skipped

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ