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]
Message-ID: <alpine.LNX.2.00.1009211852010.26813@pobox.suse.cz>
Date:	Tue, 21 Sep 2010 18:55:36 +0200 (CEST)
From:	Jiri Kosina <jkosina@...e.cz>
To:	Greg KH <gregkh@...e.de>
Cc:	Alan Stern <stern@...land.harvard.edu>,
	Phil Turmel <philip@...mel.org>, Mat <jackdachef@...il.com>,
	Guillaume Chazarain <guichaz@...il.com>,
	linux-kernel@...r.kernel.org, Oliver Neukum <oliver@...kum.org>,
	Alan Ott <alan@...nal11.us>, linux-usb@...r.kernel.org,
	linux-input@...r.kernel.org, Andreas Bombe <aeb@...ian.org>,
	Alex Riesen <raa.lkml@...il.com>,
	Gabriel C <nix.or.die@...glemail.com>
Subject: Re: [BUG, Regression, bisected] USB mouse causes bug on 1st insert,
 ignored on 2nd insert, lsusb stuck at usbdev_open

On Tue, 21 Sep 2010, Greg KH wrote:

> > > I have just found out that it's actually CONFIG_USB_DYNAMIC_MINORS which 
> > > makes the difference. When unset, the problem doesn't trigger, and 
> > > usb_find_interface() always returns the proper interface. When 
> > > CONFIG_USB_DYNAMIC_MINORS is being used, the oops happen.
> > > 
> > > I'll look into that.
> > 
> > Apparently the problem is that intf->minors doesn't get initialized 
> > properly.  This patch should fix it.  Everybody, please try it out.
> 
> Wow, what happened to suddenly cause this?  Nothing has changed here in
> a long time.
> 
> wierd.

It doesn't hit you if you are calling usb_register_dev() for all the 
instances you have, as the first device will have minor '0', the second 
one '1', etc.

But if you are calling usb_find_interface() for devices that have never 
been registered through usb_register_dev(), then you have a problem, as 
usb_find_interface() will match those unregistered devices (as minor == 0 
in such cases).

This is probably quite rare scenario, and hiddev (which might be the only 
in-kernel driver doing this?) has moved to usb_find_interface() only 
recently.

-- 
Jiri Kosina
SUSE Labs, Novell Inc.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ