Date: Thu, 23 Feb 2012 06:44:49 +0000 From: Alexey Dokuchaev <danfe@FreeBSD.org> To: John Baldwin <jhb@freebsd.org> Cc: Bruce Cran <bruce@cran.org.uk>, freebsd-current@freebsd.org Subject: Re: Loading uart module fails Message-ID: <20120223064449.GA19082@FreeBSD.org> In-Reply-To: <201101190814.19810.jhb@freebsd.org> References: <20110109140215.000011b8@unknown> <201101181125.38198.jhb@freebsd.org> <20110119100810.000026b2@unknown> <201101190814.19810.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Jan 19, 2011 at 08:14:19AM -0500, John Baldwin wrote: > On Wednesday, January 19, 2011 5:08:10 am Bruce Cran wrote: > > On Tue, 18 Jan 2011 11:25:38 -0500 > > John Baldwin <jhb@freebsd.org> wrote: > > > > > Oh, the uart[01] devices already exist. I suspect if you removed the > > > hints from /boot/device.hints and then kldloaded uart you would be > > > ok. I think this is an "old" bug that might also be in 8.x. > > > > I'm running -CURRENT from a couple of weeks ago so it if it's an old > > bug it apparently hasn't been fixed yet. > > Yes, I don't think it is fixed, and I think 8.x is likely broken in this > regard as well. Can you verify that removing the hints "fixes" the issue? Same thing here, default uart settings in /boot/device.hints prevent the module from loading correctly. Moreover, unloading it and then doing "devinfo -rv" panics my 8.3-PRERELEASE laptop: Fatal trap 12: page fault while in kernel mode fault virtual address = 0xc5511205 fault code = supervisor read, page not present instruction pointer = 0x20:0xc05783ad stack pointer = 0x28:0xe789c994 frame pointer = 0x28:0xe789c99c 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 = 2522 (devinfo) (kgdb) bt ... #10 0xc05783ad in strlcpy (dst=0xe789c9d8 "", src=0xc5511205 <Address 0xc5511205 out of bounds>, siz=32) at /usr/src/sys/libkern/strlcpy.c:54 #11 0xc050b1df in sysctl_devices (oidp=0xc06f4880, arg1=0xe789cc04, arg2=2, req=0xe789cb8c) at /usr/src/sys/kern/subr_bus.c:4575 #12 0xc04efb23 in sysctl_root (oidp=Variable "oidp" is not available. ) at /usr/src/sys/kern/kern_sysctl.c:1455 #13 0xc04efdc2 in userland_sysctl (td=0xc5d6c5c0, name=0xe789cbf8, namelen=5, old=0xbfbfea9c, oldlenp=0xbfbfea94, inkernel=0, new=0x0, newlen=0, retval=0xe789cc58, flags=0) at /usr/src/sys/kern/kern_sysctl.c:1565 #14 0xc04f014a in __sysctl (td=0xc5d6c5c0, uap=0xe789ccec) ... (kgdb) f 11 #11 0xc050b1df in sysctl_devices (oidp=0xc06f4880, arg1=0xe789cc04, arg2=2, req=0xe789cb8c) at /usr/src/sys/kern/subr_bus.c:4575 4575 strlcpy(udev.dv_desc, dev->desc, sizeof(udev.dv_desc)); (kgdb) l 4570 udev.dv_handle = (uintptr_t)dev; 4571 udev.dv_parent = (uintptr_t)dev->parent; 4572 if (dev->nameunit != NULL) 4573 strlcpy(udev.dv_name, dev->nameunit, sizeof(udev.dv_name)); 4574 if (dev->desc != NULL) 4575 strlcpy(udev.dv_desc, dev->desc, sizeof(udev.dv_desc)); 4576 if (dev->driver != NULL && dev->driver->name != NULL) 4577 strlcpy(udev.dv_drivername, dev->driver->name, 4578 sizeof(udev.dv_drivername)); 4579 bus_child_pnpinfo_str(dev, udev.dv_pnpinfo, sizeof(udev.dv_pnpinfo)); HTH, feel free to ask for more... ./danfe
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120223064449.GA19082>