Subject: Re: crash from ohci detach
To: Steven M. Bellovin <smb@cs.columbia.edu>
From: Steven M. Bellovin <smb@cs.columbia.edu>
List: current-users
Date: 01/03/2008 23:31:27
--MP_/yWFR/gTJvZlYS.N6f=XyChc
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
On Thu, 3 Jan 2008 10:39:35 -0500
"Steven M. Bellovin" <smb@cs.columbia.edu> wrote:
> On Thu, 3 Jan 2008 00:32:24 +0100
> Joerg Sonnenberger <joerg@britannica.bec.de> wrote:
>
> > On Wed, Jan 02, 2008 at 06:09:15PM -0500, Steven M. Bellovin wrote:
> > > Eyeballing the panic, it says "ohci_intr:... bad address" followed
> > > by a uvm_fault. These are both consistent with a bad PTE...
> >
> > Check if the interrupt handler is called after the memory mapped IO
> > has been removed.
> >
> My tentative answer is that uhub.c and usb.c called pmf_register but
> not pmf_deregister. Preliminary tests suggest that adding those calls
> to the detach routines solve the problem but I want to test more first
> -- shortly after a series of attach/detach cycles, my system crashed
> with 'list head mismatch'.
>
No, my patch didn't fix the problem...
That said, I think the attached patches should be committed
nevertheless. Comments?
--Steve Bellovin, http://www.cs.columbia.edu/~smb
--MP_/yWFR/gTJvZlYS.N6f=XyChc
Content-Type: application/octet-stream; name=uhub.c.diff
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=uhub.c.diff
SW5kZXg6IHVodWIuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3Zzcm9vdC9zcmMvc3lzL2Rldi91
c2IvdWh1Yi5jLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjkyCmRpZmYgLXIxLjkyIHVodWIuYwo2
MDBhNjAxCj4gCXBtZl9kZXZpY2VfZGVyZWdpc3RlcihzZWxmKTsK
--MP_/yWFR/gTJvZlYS.N6f=XyChc
Content-Type: application/octet-stream; name=usb.c.diff
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=usb.c.diff
SW5kZXg6IHVzYi5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnNyb290L3NyYy9zeXMvZGV2L3Vz
Yi91c2IuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMDQKZGlmZiAtcjEuMTA0IHVzYi5jCjkx
OWE5MjAKPiAJcG1mX2RldmljZV9kZXJlZ2lzdGVyKHNlbGYpOwo=
--MP_/yWFR/gTJvZlYS.N6f=XyChc--