From owner-freebsd-current Wed May 17 13:09:12 1995 Return-Path: current-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id NAA12793 for current-outgoing; Wed, 17 May 1995 13:09:12 -0700 Received: from gndrsh.aac.dev.com (gndrsh.aac.dev.com [198.145.92.241]) by freefall.cdrom.com (8.6.10/8.6.6) with ESMTP id NAA12787 for ; Wed, 17 May 1995 13:09:06 -0700 Received: (from rgrimes@localhost) by gndrsh.aac.dev.com (8.6.11/8.6.9) id NAA12294; Wed, 17 May 1995 13:08:43 -0700 From: "Rodney W. Grimes" Message-Id: <199505172008.NAA12294@gndrsh.aac.dev.com> Subject: Re: please test this patch for panic("swfree") To: phk@ref.tfs.com (Poul-Henning Kamp) Date: Wed, 17 May 1995 13:08:43 -0700 (PDT) Cc: current@FreeBSD.org In-Reply-To: <199505171810.LAA25818@ref.tfs.com> from "Poul-Henning Kamp" at May 17, 95 11:10:14 am X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 1408 Sender: current-owner@FreeBSD.org Precedence: bulk > > A typical "one off" error. Please test this patch. > > (David, Rod & John please review.) > > Poul-Henning > > Index: vm_swap.c > =================================================================== > RCS file: /home/ncvs/src/sys/vm/vm_swap.c,v > retrieving revision 1.17 > diff -u -r1.17 vm_swap.c > --- 1.17 1995/05/14 03:00:10 > +++ vm_swap.c 1995/05/17 18:08:26 > @@ -241,15 +241,11 @@ > sp->sw_nblks = nblks; > > if (nblks * nswdev > nswap) > - nswap = nblks * nswdev; > + nswap = (nblks+1) * nswdev; Okay! > > for (dvbase = dmmax; dvbase < nblks; dvbase += dmmax) { > blk = nblks - dvbase; > > - if ((vsbase = index * dmmax + dvbase * nswdev) >= nswap) > - panic("swfree"); Not Okay, please correct the calculation to do the right check, not eliminate the sanify check. > - if (blk > dmmax) > - blk = dmmax; Should this be another panic condition??? > /* XXX -- we need to exclude the first cluster as above */ > /* but for now, this will work fine... */ > rlist_free(&swaplist, vsbase, vsbase + blk - 1); > > -- > Poul-Henning Kamp -- TRW Financial Systems, Inc. > 'All relevant people are pertinent' && 'All rude people are impertinent' > => 'no rude people are relevant' > -- Rod Grimes rgrimes@gndrsh.aac.dev.com Accurate Automation Company Custom computers for FreeBSD