From owner-freebsd-stable Tue Oct 15 9:50:17 2002 Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6071B37B401 for ; Tue, 15 Oct 2002 09:50:15 -0700 (PDT) Received: from ns.rim.or.jp (ns.rim.or.jp [202.247.128.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0B73B43E91 for ; Tue, 15 Oct 2002 09:50:14 -0700 (PDT) (envelope-from shinke@newhouse.rim.or.jp) Received: from rayearth.rim.or.jp (uucp@rayearth.rim.or.jp [202.247.130.242]) by ns.rim.or.jp (8.9.3/3.6W-RIMNET-98-06-09) with ESMTP id BAA46302 for ; Wed, 16 Oct 2002 01:50:12 +0900 (JST) Received: (from uucp@localhost) by rayearth.rim.or.jp (8.8.8/3.5Wpl2-uucp1/RIMNET) with UUCP id BAA09378 for freebsd-stable@freebsd.org; Wed, 16 Oct 2002 01:50:11 +0900 (JST) Received: from localhost (molloy.newhouse.rim.or.jp [192.168.1.2]) by estragon.newhouse.rim.or.jp (8.12.6/8.12.3) with ESMTP id g9FGbacm035386 for ; Wed, 16 Oct 2002 01:37:36 +0900 (JST) (envelope-from shinke@newhouse.rim.or.jp) Date: Wed, 16 Oct 2002 01:37:33 +0900 (JST) Message-Id: <20021016.013733.41626224.shinke@newhouse.rim.or.jp> To: freebsd-stable@freebsd.org Subject: Kernel crashes on isa0 initialize From: Hirofumi SHINKE X-Mailer: Mew version 2.2 on Emacs 20.7 / Mule 4.0 (HANANOEN) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG I have installed FreeBSD 4.7-stable to may laptop pc. It is an old ISA based machine. I found 4.7-stable kernel crashes in fatal trap 12 at boot time on the machine, while 4.7-RC kernel worked well. So I examined differences between the versions and found new implementation of nexus_print_all_resources() in sys/i386/i386/nexus.c caused the trouble. On my machine, DEVTONX(dev) at first line of the function returns null pointer for device isa0, and then a pointer reference in the next line leads to page fault. I could workarounded the problem as bellow, but i wonder what's the right way? Which is the case whether - my isa controller is broken or buggy - or that is bug accompanied by recent changes on kernl ? *** nexus.c.bk Mon Oct 14 15:12:41 2002 --- nexus.c Mon Oct 14 16:40:33 2002 *************** *** 257,265 **** static int nexus_print_all_resources(device_t dev) { - struct nexus_device *ndev = DEVTONX(dev); - struct resource_list *rl = &ndev->nx_resources; int retval = 0; if (SLIST_FIRST(rl)) retval += printf(" at"); --- 257,270 ---- static int nexus_print_all_resources(device_t dev) { int retval = 0; + struct nexus_device *ndev = DEVTONX(dev); + struct resource_list *rl; + + if( ! ndev ){ + retval += printf( "(no rerource infomation)"); + return retval; + } if (SLIST_FIRST(rl)) retval += printf(" at"); ---- Hirofumi SHINKE, Yokohama, Japan shinke@newhouse.rim.or.jp To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message