Date: Sun, 17 Dec 1995 21:02:48 +0100 (MET) From: aagero@aage.aage.priv.no To: FreeBSD-gnats-submit@freebsd.org Subject: kern/900: ext2fs problems Message-ID: <199512172002.VAA01981@birk04.studby.uio.no> Resent-Message-ID: <Pine.ULT.3.91.951218065412.21467A@ucvg.med.utah.edu>
next in thread | raw e-mail | index | archive | help
>Number: 900 >Category: kern >Synopsis: ext2fs triggers divide by zero trap in vnode_pager_haspage >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Dec 17 12:10:02 PST 1995 >Last-Modified: >Originator: Ege Rxbekk >Organization: >Release: FreeBSD 2.2-CURRENT i386 >Environment: FreeBSD-CURRENT 2.2, 14. Dec.-sources. >Description: execution of large executables on a ext2 filesystem can trigger a divide-fault trap which leads to kernel panic. This is not a problem with the linux binary emulation but rather a filesystem problem. >How-To-Repeat: execute any large file on a linux partition, e.g. /mount/linux/bin$ ./bash (I assume everyone has got this one :) >Fix: The problem lies in /sys/vm/vnode_pager.c, vnode_pager_haspage. The relevant code: bsize = vp->v_mount->mnt_stat.f_iosize; pagesperblock = bsize / PAGE_SIZE; reqblock = pindex / pagesperblock; The f_iosize _and_ f_bsize on my ext2fs partition is 1024 bytes, or at least that is what statfs() reports. If bsize < PAGE_SIZE, pagesperblock is set to 0. I have no fix. >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199512172002.VAA01981>