NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
PR/42661 CVS commit: src/sys/compat
The following reply was made to PR kern/42661; it has been noted by GNATS.
From: Havard Eidnes <he%netbsd.org@localhost>
To: gnats-bugs%gnats.NetBSD.org@localhost
Cc:
Subject: PR/42661 CVS commit: src/sys/compat
Date: Wed, 3 Mar 2010 08:20:39 +0000
Module Name: src
Committed By: he
Date: Wed Mar 3 08:20:39 UTC 2010
Modified Files:
src/sys/compat/common: vfs_syscalls_30.c
src/sys/compat/ibcs2: ibcs2_misc.c
src/sys/compat/irix: irix_dirent.c
src/sys/compat/linux/common: linux_file64.c linux_misc.c
src/sys/compat/linux32/common: linux32_dirent.c
src/sys/compat/osf1: osf1_file.c
src/sys/compat/sunos: sunos_misc.c
src/sys/compat/sunos32: sunos32_misc.c
src/sys/compat/svr4: svr4_misc.c
src/sys/compat/svr4_32: svr4_32_misc.c
Log Message:
When implementing "read directory", when there are too many empty entries
in a row, and we need to try to read the next block, and have passed a
non-NULL cookie pointer to VOP_READDIR, ensure that we free the cookie
buffer before re-doing VOP_READDIR, so that we don't leak memory.
This fix is similar to nfs_serv.c revisions 1.115 + 1.124.
This should fix the long-standing problem observed by e.g. using Linux-
emulated programs to take backup of servers, which is one of the problems
which were reported in PR#42661.
Thanks to pooka@ for the hints for traversing the VOP* layer.
To generate a diff of this commit:
cvs rdiff -u -r1.30 -r1.31 src/sys/compat/common/vfs_syscalls_30.c
cvs rdiff -u -r1.109 -r1.110 src/sys/compat/ibcs2/ibcs2_misc.c
cvs rdiff -u -r1.23 -r1.24 src/sys/compat/irix/irix_dirent.c
cvs rdiff -u -r1.49 -r1.50 src/sys/compat/linux/common/linux_file64.c
cvs rdiff -u -r1.213 -r1.214 src/sys/compat/linux/common/linux_misc.c
cvs rdiff -u -r1.9 -r1.10 src/sys/compat/linux32/common/linux32_dirent.c
cvs rdiff -u -r1.37 -r1.38 src/sys/compat/osf1/osf1_file.c
cvs rdiff -u -r1.165 -r1.166 src/sys/compat/sunos/sunos_misc.c
cvs rdiff -u -r1.68 -r1.69 src/sys/compat/sunos32/sunos32_misc.c
cvs rdiff -u -r1.148 -r1.149 src/sys/compat/svr4/svr4_misc.c
cvs rdiff -u -r1.67 -r1.68 src/sys/compat/svr4_32/svr4_32_misc.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index