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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.44L0.0802201106100.4828-100000@iolanthe.rowland.org>
Date:	Wed, 20 Feb 2008 11:10:01 -0500 (EST)
From:	Alan Stern <stern@...land.harvard.edu>
To:	David Brownell <david-b@...bell.net>
cc:	David Miller <davem@...emloft.net>, <andre@...t.net>,
	<linux-kernel@...r.kernel.org>, <linux-usb@...r.kernel.org>
Subject: Re: USB OOPS 2.6.25-rc2-git1

On Tue, 19 Feb 2008, David Brownell wrote:

> Please try that diagnostic patch I sent ... with CONFIG_USB_DEBUG.
> 
> Near as I can tell this is caused by some hardware oddity that needs
> to be worked around.  We seem to be at stage where we've fixed some
> problems, nudging code paths around so another one shows up, and have
> incidentally had a new silicion-specific hardware erratum reported
> in this area.  So more info is needed...
> 
> A quick anti-oops patch is appended, it should work OK on top of that
> diagnostic patch, but won't necessarily resolve the underlying problem.
> 
> - Dave
> 
> 
> --- g26.orig/drivers/usb/host/ehci-q.c	2008-02-19 16:15:04.000000000 -0800
> +++ g26/drivers/usb/host/ehci-q.c	2008-02-19 16:15:59.000000000 -0800
> @@ -993,6 +993,11 @@ static void end_unlink_async (struct ehc
>  
>  	iaa_watchdog_done(ehci);
>  
> +	if (!qh) {
> +		WARN_ON(1);
> +		return;
> +	}
> +

It will be interesting to see the stack dump.  As far as I can tell,
there are two pathways which could lead qh being NULL.  One is the IAA
hardware peculiarity (setting the status bit very late, after the
watchdog timer has already expired), and the other is in unlink_async()  
if the controller isn't running.  That second one may be just a simple
bug -- I doubt it would show up unless the controller got a fatal 
error and stopped.

Alan Stern

--
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