Module Name: src Committed By: simonb Date: Tue Nov 30 12:37:38 UTC 2021
Modified Files: src/external/cddl/osnet/dist/uts/common/fs/zfs: zfs_vfsops.c Log Message: In zfs_statvfs(), set f_bresvd and f_fresvd to 0. Fixes random kernel accounting suspend/resumes with erroneous values leaking out. Note: no userland leakage as statvfs(2) handler memset 0's the buffer. XXX: Should be fixed with a memset in VFS_STATVFS(). To generate a diff of this commit: cvs rdiff -u -r1.29 -r1.30 \ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c:1.29 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c:1.30 --- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c:1.29 Thu Aug 27 09:57:33 2020 +++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c Tue Nov 30 12:37:38 2021 @@ -2182,6 +2182,7 @@ zfs_statvfs(vfs_t *vfsp, struct statvfs statp->f_blocks = (refdbytes + availbytes) >> SPA_MINBLOCKSHIFT; statp->f_bfree = availbytes / statp->f_bsize; statp->f_bavail = statp->f_bfree; /* no root reservation */ + statp->f_bresvd = 0; /* * statvfs() should really be called statufs(), because it assumes @@ -2196,6 +2197,7 @@ zfs_statvfs(vfs_t *vfsp, struct statvfs statp->f_favail = statp->f_ffree; /* no "root reservation" */ #endif statp->f_files = statp->f_ffree + usedobjs; + statp->f_fresvd = 0; #ifdef __FreeBSD__ (void) cmpldev(&d32, vfsp->vfs_dev);