Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: [netbsd-5] src/sys/compat



Module Name:    src
Committed By:   snj
Date:           Wed Mar 17 02:59:53 UTC 2010

Modified Files:
        src/sys/compat/common [netbsd-5]: vfs_syscalls_30.c
        src/sys/compat/ibcs2 [netbsd-5]: ibcs2_misc.c
        src/sys/compat/irix [netbsd-5]: irix_dirent.c
        src/sys/compat/linux/common [netbsd-5]: linux_file64.c linux_misc.c
        src/sys/compat/linux32/common [netbsd-5]: linux32_dirent.c
        src/sys/compat/sunos [netbsd-5]: sunos_misc.c
        src/sys/compat/sunos32 [netbsd-5]: sunos32_misc.c
        src/sys/compat/svr4 [netbsd-5]: svr4_misc.c
        src/sys/compat/svr4_32 [netbsd-5]: svr4_32_misc.c

Log Message:
Pull up following revision(s) (requested by he in ticket #1323):
        sys/compat/common/vfs_syscalls_30.c: revision 1.31
        sys/compat/ibcs2/ibcs2_misc.c: revision 1.110
        sys/compat/irix/irix_dirent.c: revision 1.24
        sys/compat/linux/common/linux_file64.c: revision 1.50
        sys/compat/linux/common/linux_misc.c: revision 1.214
        sys/compat/linux32/common/linux32_dirent.c: revision 1.10
        sys/compat/sunos/sunos_misc.c: revision 1.166
        sys/compat/sunos32/sunos32_misc.c: revision 1.69
        sys/compat/svr4/svr4_misc.c: revision 1.149
        sys/compat/svr4_32/svr4_32_misc.c: revision 1.68
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.28 -r1.28.6.1 src/sys/compat/common/vfs_syscalls_30.c
cvs rdiff -u -r1.104 -r1.104.6.1 src/sys/compat/ibcs2/ibcs2_misc.c
cvs rdiff -u -r1.23 -r1.23.10.1 src/sys/compat/irix/irix_dirent.c
cvs rdiff -u -r1.48 -r1.48.6.1 src/sys/compat/linux/common/linux_file64.c
cvs rdiff -u -r1.201 -r1.201.6.1 src/sys/compat/linux/common/linux_misc.c
cvs rdiff -u -r1.6 -r1.6.4.1 src/sys/compat/linux32/common/linux32_dirent.c
cvs rdiff -u -r1.161 -r1.161.4.1 src/sys/compat/sunos/sunos_misc.c
cvs rdiff -u -r1.62 -r1.62.4.1 src/sys/compat/sunos32/sunos32_misc.c
cvs rdiff -u -r1.144 -r1.144.6.1 src/sys/compat/svr4/svr4_misc.c
cvs rdiff -u -r1.63 -r1.63.6.1 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