Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Jun 2007 01:17:04 -0600 (MDT)
From:      "M. Warner Losh" <imp@bsdimp.com>
To:        hselasky@c2i.net
Cc:        cvs-src@yandex.ru, freebsd-usb@freebsd.org
Subject:   Re: Panic on post-freeze current with ucom
Message-ID:  <20070620.011704.-494097370.imp@bsdimp.com>
In-Reply-To: <200706200857.25030.hselasky@c2i.net>
References:  <46790374.8040903@yandex.ru> <200706200857.25030.hselasky@c2i.net>

next in thread | previous in thread | raw e-mail | index | archive | help
In message: <200706200857.25030.hselasky@c2i.net>
            Hans Petter Selasky <hselasky@c2i.net> writes:
: On Wednesday 20 June 2007 12:37, R.Mahmatkhanov wrote:
: > Good Day.
: >
: 
: Hi,
: 
: The parsing of the USB descriptors in general is not very fault tolerant in 
: the old USB stack. Probably there is a missing range or NULL check somewhere.

This most likely is a careless mistake I made in the general cleanups
I did recently...  However if it isn't...

: Unfortunately my new USB stack does not yet compile on the latest 7-current. 
: Else you should try that, and if that fixes the problem, the people still 
: maintaining the old USB stack should backport the parsing routines for the 
: USB descriptors.

That sounds like a reasonable change to bite off.  Can you suggest the
set of routines that would work best to try to back port?

Warner

: --HPS
: 
: > I just move to latest -current/i386 after the code freeze. And i catch
: > 100% reproduceble panic condition. It happens when i plug my mobile
: > phone to USB port. How it does:
: >
: > ucom0: <CURITEL Incorporated CURITEL HX-550C USB Modem, class 2/0, rev
: > 1.10/0.00, addr 2> on uhub1
: > Fatal trap 12: page fault while in kernel mode cpuid = 0; apic id = 00
: > fault virtual address = 0x4
: > fault code = supervisor read, page not present
: > instruction pointer = 0x20: 0xc06ca396
: > stack pointer = 0x28: 0xdd30a760
: > frame pointer = 0x28: 0xdd30a760
: > code segment = base 0x0, limit 0xfffff, type = 0x1b, DPL 0, pres 1,
: >              = def32 1, gran 1
: > processor eflags = interrupt enabled, resume; IOPL = 0
: > current process = 28 (usb1)
: > [thread pid 28 tid 100023]
: > Stopped at usb_get_interface_descruptor+0x6: movl 0x4(%eax), %eax
: > db>
: >
: _______________________________________________
: freebsd-usb@freebsd.org mailing list
: http://lists.freebsd.org/mailman/listinfo/freebsd-usb
: To unsubscribe, send any mail to "freebsd-usb-unsubscribe@freebsd.org"
: 
: 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070620.011704.-494097370.imp>