Date: Sun, 09 Jun 2002 00:30:37 -0600 (MDT) From: "M. Warner Losh" <imp@village.org> To: morganw@chemikals.org Cc: mobile@FreeBSD.ORG Subject: Re: newcard panic Message-ID: <20020609.003037.08625897.imp@village.org> In-Reply-To: <20020608231828.P19738-100000@volatile.chemikals.org> References: <20020608.114035.14403964.imp@village.org> <20020608231828.P19738-100000@volatile.chemikals.org>
next in thread | previous in thread | raw e-mail | index | archive | help
In message: <20020608231828.P19738-100000@volatile.chemikals.org> Wesley Morgan <morganw@chemikals.org> writes: : *AHEM* well now that I had the time to rebuild with stabs debugging : symbols, here is the trace: Cool! Thanks for going to the trouble. I hope you've saved the core, since I have a few questions. First, I'm assuming that you are doing this against a fairly recent -current, Please correct me of I'm wrong. : Fatal trap 12: page fault while in kernel mode : fault virtual address = 0xdb6c7000 This is a very very odd address to fault at. : #11 0xc015efcc in pccard_scan_cis (dev=0xd4b1c800, : fct=0xc015fe82 <pccard_parse_cis_tuple>, arg=0xd91dcb8c) : at ../../../dev/pccard/pccard_cis.c:1196 Here's where we get into trouble. It looks like the Fault is at the return line: 1195: return (0); 1196:} Does that match your sources? What is mfc_count and mfc_index claim to be at this point? If you run with a serial console, what effect does adding hw.pccard.cis_debug=1 to /boot/loader.conf tell you? It should print something very verbose. My guess is that we're walking off into the weeds for some reason, and that we're overrunning some array. This overrun is causing us to trash the stack, and we're trying to return to a really bogus address. I'll go take a look at your dumpcis output. I may need you to do something like pccardc rdattr 0 0 512 while running an oldcard kernel and send me the results so I can step through the code with each byte of the CIS that's causing problems (dumpcis sometimes does bad things to cis output). scan_cis is way too complex. I'm seriously thinking about re-writing it to make proper use of functions so that overflows like this are easier to catch and debug. Warner To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-mobile" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020609.003037.08625897.imp>