From owner-freebsd-bugs Mon Jan 15 04:50:04 1996 Return-Path: owner-bugs Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id EAA11471 for bugs-outgoing; Mon, 15 Jan 1996 04:50:04 -0800 (PST) Received: (from gnats@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id EAA11465 Mon, 15 Jan 1996 04:50:02 -0800 (PST) Resent-Date: Mon, 15 Jan 1996 04:50:02 -0800 (PST) Resent-Message-Id: <199601151250.EAA11465@freefall.freebsd.org> Resent-From: gnats (GNATS Management) Resent-To: freebsd-bugs Resent-Reply-To: FreeBSD-gnats@freefall.FreeBSD.org, miff@spam.frisbee.net.au Received: from lovely.spam.frisbee.net.au (spam.apana.org.au [202.0.75.1]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id EAA11414 for ; Mon, 15 Jan 1996 04:48:23 -0800 (PST) Received: (from miff@localhost) by lovely.spam.frisbee.net.au (8.6.12/8.6.12) id XAA20113; Mon, 15 Jan 1996 23:28:31 +1030 Message-Id: <199601151258.XAA20113@lovely.spam.frisbee.net.au> Date: Mon, 15 Jan 1996 23:28:31 +1030 From: miff@spam.frisbee.net.au Reply-To: miff@spam.frisbee.net.au To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.2 Subject: kern/946: divide-by-zero in kernel on bad disk info Sender: owner-bugs@freebsd.org Precedence: bulk >Number: 946 >Category: kern >Synopsis: divide-by-zero in kernel on bad disk info >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Jan 15 04:50:01 PST 1996 >Last-Modified: >Originator: michael smith >Organization: Just me. >Release: FreeBSD 2.1-STABLE i386 >Environment: A disk controller that reports zero for sectors-per-track (only observed with the 'wd' driver) >Description: correct_readdisklabel() (ufs/ufs_disksubr.c) doesn't check lp->d_secpercyl before dividing by it, and the error isn't picked up in the wd driver before this point. (The same problem is present in -current) >How-To-Repeat: Find a controller combination (in this case, an Adaptec 2320D) that results in s/t being zero. Power the controller up without having any disks enabled in the BIOS. The controller appears not to check the geometry of its disks on reset. (boot probe shows 306/4/0) Say 'disklabel '. >Fix: Check d_secpercyl at some point prior to dividing, or perhaps reject bogus disks out of hand. >Audit-Trail: >Unformatted: