Module Name: src Committed By: dholland Date: Sun Jan 13 08:15:03 UTC 2013
Modified Files: src/lib/libc/sys: access.2 chmod.2 chown.2 link.2 mkdir.2 mkfifo.2 mknod.2 open.2 readlink.2 rename.2 stat.2 symlink.2 unlink.2 utimes.2 src/sys/kern: vfs_syscalls.c src/sys/sys: fcntl.h src/tests/lib/libc/c063: t_o_search.c Log Message: Revert defective O_SEARCH implementation committed by manu@ along with the *at system calls on November 18th of last year. Reasons to revert it include: - it is incorrect in a whole variety of ways (but fortunately, one of them is that the missing and improper permission checks have no net effect); - it was committed without review or discussion; - core ruled that all the new O_* flags pertaining to the *at calls needed to wait until their semantics could be clarified. manu was asked to revert it on these grounds but has ignored the request. I have left O_SEARCH defined and visible and made open() explicitly ignore it. This way, most code that tries to use it will continue to build and run. I've also arranged lib/libc/c063/t_o_search.c so that the tests that make use of the O_SEARCH semantics will disappear until O_SEARCH comes back, and fixed some mistakes and/or incorrect hacks that were causing some of these to succeed despite the broken O_SEARCH implementation. To generate a diff of this commit: cvs rdiff -u -r1.31 -r1.32 src/lib/libc/sys/access.2 cvs rdiff -u -r1.44 -r1.45 src/lib/libc/sys/chmod.2 cvs rdiff -u -r1.34 -r1.35 src/lib/libc/sys/chown.2 cvs rdiff -u -r1.29 -r1.30 src/lib/libc/sys/link.2 \ src/lib/libc/sys/readlink.2 cvs rdiff -u -r1.26 -r1.27 src/lib/libc/sys/mkdir.2 src/lib/libc/sys/rename.2 \ src/lib/libc/sys/unlink.2 cvs rdiff -u -r1.24 -r1.25 src/lib/libc/sys/mkfifo.2 \ src/lib/libc/sys/symlink.2 cvs rdiff -u -r1.25 -r1.26 src/lib/libc/sys/mknod.2 cvs rdiff -u -r1.54 -r1.55 src/lib/libc/sys/open.2 cvs rdiff -u -r1.53 -r1.54 src/lib/libc/sys/stat.2 cvs rdiff -u -r1.35 -r1.36 src/lib/libc/sys/utimes.2 cvs rdiff -u -r1.462 -r1.463 src/sys/kern/vfs_syscalls.c cvs rdiff -u -r1.44 -r1.45 src/sys/sys/fcntl.h cvs rdiff -u -r1.2 -r1.3 src/tests/lib/libc/c063/t_o_search.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.