From Tor.Egge@pat.idt.unit.no  Wed Sep  4 23:23:24 1996
Received: from mail.crl.com (mail.crl.com [165.113.1.22])
          by freefall.freebsd.org (8.7.5/8.7.3) with SMTP id XAA24926
          for <FreeBSD-gnats-submit@freebsd.org>; Wed, 4 Sep 1996 23:23:16 -0700 (PDT)
Received: from pat.idt.unit.no by mail.crl.com with SMTP id AA07582
  (5.65c/IDA-1.5 for <FreeBSD-gnats-submit@freebsd.org>); Wed, 4 Sep 1996 23:21:45 -0700
Received: from ikke.idt.unit.no (ikke.idt.unit.no [129.241.111.65]) by pat.idt.unit.no (8.7.5/8.7.3) with ESMTP id BAA25165 for <FreeBSD-gnats-submit@freebsd.org>; Thu, 5 Sep 1996 01:19:48 +0200 (MET DST)
Received: (from tegge@localhost) by ikke.idt.unit.no (8.7.5/8.7.3) id BAA00598; Thu, 5 Sep 1996 01:19:34 +0200 (MET DST)
Message-Id: <199609042319.BAA00598@ikke.idt.unit.no>
Date: Thu, 5 Sep 1996 01:19:34 +0200 (MET DST)
From: Tor Egge <Tor.Egge@idt.ntnu.no>
Reply-To: Tor.Egge@idt.ntnu.no
To: FreeBSD-gnats-submit@freebsd.org
Subject: savecore calculates wrong value for free disk space
X-Send-Pr-Version: 3.2

>Number:         1569
>Category:       bin
>Synopsis:       savecore calculates wrong value for free disk space
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:
>Keywords:
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Sep  4 23:30:01 PDT 1996
>Closed-Date:    Thu Sep 5 01:08:46 PDT 1996
>Last-Modified:  Thu Sep  5 01:09:23 PDT 1996
>Originator:     Tor Egge
>Release:        FreeBSD 2.2-CURRENT i386
>Organization:
Norwegian University of Science and Technology, Trondheim, Norway
>Environment:

	FreeBSD ikke.idt.unit.no 2.2-CURRENT FreeBSD 2.2-CURRENT #6: Wed Sep  4 21:44:38 MET DST 1996     root@ikke.idt.unit.no:/usr/src/sys/compile/TEGGE  i386

>Description:

	When there is more than 2 GB free space on the partition
	where the coredump sould be dumped, an overflow occurs
	when calculating the free disk space.

---
Sep  5 00:56:11 ikke savecore: reboot after panic: vm_page_free: freeing busy page
Sep  5 00:56:11 ikke savecore: no dump, not enough free space on device
---

>How-To-Repeat:

	Trigger a kernel bug that causes a dump, e.g. by misuse of madvise.
	When the system comes up, try a savecore to a directory on
	a partition where you have more than 2GB free space (but less
	than 4 GB free space).
	
>Fix:
Index: savecore.c
===================================================================
RCS file: /export/akg1/cvs/src/sbin/savecore/savecore.c,v
retrieving revision 1.13
diff -c -r1.13 savecore.c
*** savecore.c	1996/08/20 20:49:39	1.13
--- savecore.c	1996/09/04 22:59:56
***************
*** 548,554 ****
  		syslog(LOG_ERR, "%s: %m", dirname);
  		exit(1);
  	}
!  	spacefree = (fsbuf.f_bavail * fsbuf.f_bsize) / 1024;
  
  	(void)snprintf(path, sizeof(path), "%s/minfree", dirname);
  	if ((fp = fopen(path, "r")) == NULL)
--- 548,554 ----
  		syslog(LOG_ERR, "%s: %m", dirname);
  		exit(1);
  	}
!  	spacefree = ((off_t) fsbuf.f_bavail * fsbuf.f_bsize) / 1024;
  
  	(void)snprintf(path, sizeof(path), "%s/minfree", dirname);
  	if ((fp = fopen(path, "r")) == NULL)
-------------
>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed 
State-Changed-By: davidg 
State-Changed-When: Thu Sep 5 01:08:46 PDT 1996 
State-Changed-Why:  
Suggested fix was applied. Thanks! 
>Unformatted:
