From owner-freebsd-bugs Mon Oct 30 22:20:16 2000 Delivered-To: freebsd-bugs@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 43D4737B4FE for ; Mon, 30 Oct 2000 22:20:01 -0800 (PST) Received: (from gnats@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id WAA64550; Mon, 30 Oct 2000 22:20:01 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: by hub.freebsd.org (Postfix, from userid 32767) id B000B37B479; Mon, 30 Oct 2000 22:18:48 -0800 (PST) Message-Id: <20001031061848.B000B37B479@hub.freebsd.org> Date: Mon, 30 Oct 2000 22:18:48 -0800 (PST) From: iwaki@bc.niigata-u.ac.jp To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-1.0 Subject: kern/22435: linprocfs causes system down and reboot Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 22435 >Category: kern >Synopsis: linprocfs causes system down and reboot >Confidential: no >Severity: critical >Priority: high >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Oct 30 22:20:01 PST 2000 >Closed-Date: >Last-Modified: >Originator: Mamoru Iwaki >Release: FreeBSD 4.1.1-STABLE >Organization: Niigata University >Environment: FreeBSD mi000.merlin.gs.niigata-u.ac.jp 4.1.1-STABLE FreeBSD 4.1.1-STABLE #0: Tue Oct 31 14:34:58 JST 2000 root@mi000.merlin.gs.niigata-u.ac.jp:/usr/obj/amd/mi004/home2/FreeBSD-src/stable4/src/sys/MI i386 >Description: Using linprocfs on 4.1.1-STABLE system, % cat /compat/linux/proc/stat or % cat /compat/linux/proc/uptime cause a panic with the following message Fatal trap 18: integer divide fault while in kernel mode instruction pointer = 0x8:0xc0933030 stack pointer = 0x10:0xc60dddc8 frame pointer = 0x10:0xc60dde20 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 = 325 (cat) interrupt mask = none trap number = 18 panic: integer divide fault and then the system reboots immediately. At least, this problem has exist since 4.1.1-STABLE around 24 Oct., but around 17 Oct.. This is dangerous because every user can make system down easily. I heard that the CURRENT around 28 Oct. works good with the same operations, so this problem maybe exist only in 4.1.1-STABLE. >How-To-Repeat: Use the above commands on 4.1.1-STABLE around 24 Oct. >Fix: In private communication, assar@freebsd.org proposed the following patch, which looks working well. In src/sys/i386/linux/linprocfs, --- linprocfs_misc.c.org Fri Sep 22 17:01:45 2000 +++ linprocfs_misc.c Tue Oct 31 10:10:18 2000 @@ -65,8 +65,8 @@ #include -#define T2J(x) (((x) * 100) / stathz) -#define T2S(x) ((x) / stathz) +#define T2J(x) (((x) * 100) / (stathz ? stathz : hz)) /* ticks to jiffies */ +#define T2S(x) ((x) / (stathz ? stathz : hz)) /* ticks to seconds */ int linprocfs_domeminfo(curp, p, pfs, uio) >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message