From owner-freebsd-current Wed May 17 11:10:19 1995 Return-Path: current-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id LAA10536 for current-outgoing; Wed, 17 May 1995 11:10:19 -0700 Received: from ref.tfs.com (ref.tfs.com [140.145.254.251]) by freefall.cdrom.com (8.6.10/8.6.6) with ESMTP id LAA10530 for ; Wed, 17 May 1995 11:10:15 -0700 Received: (from phk@localhost) by ref.tfs.com (8.6.8/8.6.6) id LAA25818 for current@freebsd.org; Wed, 17 May 1995 11:10:14 -0700 From: Poul-Henning Kamp Message-Id: <199505171810.LAA25818@ref.tfs.com> Subject: please test this patch for panic("swfree") To: current@FreeBSD.org Date: Wed, 17 May 1995 11:10:14 -0700 (PDT) Content-Type: text Content-Length: 1026 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; for (dvbase = dmmax; dvbase < nblks; dvbase += dmmax) { blk = nblks - dvbase; - if ((vsbase = index * dmmax + dvbase * nswdev) >= nswap) - panic("swfree"); - if (blk > dmmax) - blk = dmmax; /* 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'