From owner-cvs-all Tue Oct 13 01:24:51 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id BAA20629 for cvs-all-outgoing; Tue, 13 Oct 1998 01:24:51 -0700 (PDT) (envelope-from owner-cvs-all@FreeBSD.ORG) Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id BAA20623; Tue, 13 Oct 1998 01:24:47 -0700 (PDT) (envelope-from dg@FreeBSD.org) From: David Greenman Received: (from dg@localhost) by freefall.freebsd.org (8.8.8/8.8.5) id BAA23019; Tue, 13 Oct 1998 01:24:45 -0700 (PDT) Date: Tue, 13 Oct 1998 01:24:45 -0700 (PDT) Message-Id: <199810130824.BAA23019@freefall.freebsd.org> To: cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG Subject: cvs commit: src/sys/cam/scsi scsi_da.c src/sys/i386/i386 busdma_machdep.c vm_machdep.c src/sys/i386/ibcs2 imgact_coff.c src/sys/i386/include param.h src/sys/i386/isa isa.c wd.c src/sys/kern imgact_elf.c sys_pipe.c sysv_shm.c vfs_bio.c ... Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk dg 1998/10/13 01:24:45 PDT Modified files: sys/cam/scsi scsi_da.c sys/i386/i386 busdma_machdep.c vm_machdep.c sys/i386/ibcs2 imgact_coff.c sys/i386/include param.h sys/i386/isa isa.c wd.c sys/kern imgact_elf.c sys_pipe.c sysv_shm.c vfs_bio.c vfs_subr.c sys/vm default_pager.c device_pager.c swap_pager.c vm_glue.c vm_map.c vm_mmap.c vm_pager.c vm_pager.h vm_unix.c vnode_pager.c vnode_pager.h Log: Fixed two potentially serious classes of bugs: 1) The vnode pager wasn't properly tracking the file size due to "size" being page rounded in some cases and not in others. This sometimes resulted in corrupted files. First noticed by Terry Lambert. Fixed by changing the "size" pager_alloc parameter to be a 64bit byte value (as opposed to a 32bit page index) and changing the pagers and their callers to deal with this properly. 2) Fixed a bogus type cast in round_page() and trunc_page() that caused some 64bit offsets and sizes to be scrambled. Removing the cast required adding casts at a few dozen callers. There may be problems with other bogus casts in close-by macros. A quick check seemed to indicate that those were okay, however. Revision Changes Path 1.10 +2 -2 src/sys/cam/scsi/scsi_da.c 1.11 +4 -4 src/sys/i386/i386/busdma_machdep.c 1.112 +3 -3 src/sys/i386/i386/vm_machdep.c 1.32 +5 -5 src/sys/i386/ibcs2/imgact_coff.c 1.47 +3 -3 src/sys/i386/include/param.h 1.115 +2 -2 src/sys/i386/isa/isa.c 1.177 +2 -2 src/sys/i386/isa/wd.c 1.38 +4 -4 src/sys/kern/imgact_elf.c 1.43 +3 -3 src/sys/kern/sys_pipe.c 1.39 +3 -4 src/sys/kern/sysv_shm.c 1.179 +9 -9 src/sys/kern/vfs_bio.c 1.165 +3 -4 src/sys/kern/vfs_subr.c 1.16 +4 -4 src/sys/vm/default_pager.c 1.32 +9 -7 src/sys/vm/device_pager.c 1.102 +5 -5 src/sys/vm/swap_pager.c 1.77 +8 -8 src/sys/vm/vm_glue.c 1.137 +2 -2 src/sys/vm/vm_map.c 1.84 +4 -4 src/sys/vm/vm_mmap.c 1.38 +4 -4 src/sys/vm/vm_pager.c 1.17 +3 -3 src/sys/vm/vm_pager.h 1.17 +2 -2 src/sys/vm/vm_unix.c 1.100 +4 -4 src/sys/vm/vnode_pager.c 1.12 +2 -2 src/sys/vm/vnode_pager.h To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message