Source-Changes archive

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

CVS commit: src



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.




Home | Main Index | Thread Index | Old Index