From owner-cvs-all Mon Dec 16 15:19:16 2002 Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 03F9937B401; Mon, 16 Dec 2002 15:19:15 -0800 (PST) Received: from rwcrmhc52.attbi.com (rwcrmhc52.attbi.com [216.148.227.88]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8F02E43EC5; Mon, 16 Dec 2002 15:19:14 -0800 (PST) (envelope-from julian@elischer.org) Received: from InterJet.elischer.org (12-232-168-4.client.attbi.com[12.232.168.4]) by rwcrmhc52.attbi.com (rwcrmhc52) with ESMTP id <2002121623191305200g8jame>; Mon, 16 Dec 2002 23:19:14 +0000 Received: from localhost (localhost.elischer.org [127.0.0.1]) by InterJet.elischer.org (8.9.1a/8.9.1) with ESMTP id PAA13992; Mon, 16 Dec 2002 15:19:13 -0800 (PST) Date: Mon, 16 Dec 2002 15:19:12 -0800 (PST) From: Julian Elischer To: Nate Lawson Cc: Julian Elischer , cvs-all@freebsd.org, cvs-committers@freebsd.org Subject: Re: cvs commit: src/sys/i386/i386 dump_machdep.c In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Mon, 16 Dec 2002, Nate Lawson wrote: > On Mon, 16 Dec 2002, Julian Elischer wrote: > > Modified files: > > sys/i386/i386 dump_machdep.c > > Log: > > Don't dump core into a partition that is too small for it. > > If we do, we usually wrote backwareds into the proceeding partititon > > which is usually the root partition. > > [..] > > @@ -75,6 +75,15 @@ > > strncpy(kdh.panicstring, panicstr, sizeof kdh.panicstring); > > kdh.parity = kerneldump_parity(&kdh); > > > > + if (di->mediasize < > > + ((Maxmem * (off_t)PAGE_SIZE) + /* Memory to save */ > > + (sizeof kdh * 2) + /* header + trailer */ > > + (64*1024))) { /* Room to leave untouched */ > > + /* at partition head. */ > > + /* (an arbitrary amount). */ > > + printf("\nDump failed. Partition too small.\n"); > > + return; > > + } > > dumplo = di->mediaoffset + di->mediasize - Maxmem * (off_t)PAGE_SIZE; > > dumplo -= sizeof kdh * 2; > > i = di->dumper(di->priv, &kdh, 0, dumplo, sizeof kdh); > > Heh, it seems you went even farther to tweak everyone that had style(9) > complaints with the proposal. At the very least, PLEASE move the comment > to before the line. > > Functionally, it is important that this check be MI. I thought about that. Different architectures can have different dump sizes (theoretically) so only the MD code can know how much room it needs. For example, ia64 might decide to implement sparse dumps. > > -Nate > > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message