summaryrefslogtreecommitdiff
path: root/security
diff options
context:
space:
mode:
authordean gaudet <dean@arctic.org>2006-02-03 03:04:30 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2006-02-03 08:32:07 -0800
commit7d95c8f27d9be65bf160f1edaf653d33dfceb58c (patch)
tree2e232ef2fccb1e6c81616bd9f3a56a0676549a8a /security
parent8b3e09e19932835fb77c63aaf3b1af6117e78871 (diff)
downloadlinux-3.10-7d95c8f27d9be65bf160f1edaf653d33dfceb58c.tar.gz
linux-3.10-7d95c8f27d9be65bf160f1edaf653d33dfceb58c.tar.bz2
linux-3.10-7d95c8f27d9be65bf160f1edaf653d33dfceb58c.zip
[PATCH] fcntl F_SETFL and read-only IS_APPEND files
There is code in setfl() which attempts to preserve the O_APPEND flag on IS_APPEND files... however IS_APPEND files could also be opened O_RDONLY and in that case setfl() should not require O_APPEND... coreutils 5.93 tail -f attempts to set O_NONBLOCK even on regular files... unfortunately if you try this on an append-only log file the result is this: fcntl64(3, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE) fcntl64(3, F_SETFL, O_RDONLY|O_NONBLOCK|O_LARGEFILE) = -1 EPERM (Operation not permitted) I offer up the patch below as one way of fixing the problem... i've tested it fixes the problem with tail -f but haven't really tested beyond that. (I also reported the coreutils bug upstream... it shouldn't fail imho... <https://savannah.gnu.org/bugs/index.php?func=detailitem&item_id=15473>) Signed-off-by: dean gaudet <dean@arctic.org> Cc: Al Viro <viro@ftp.linux.org.uk> Acked-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'security')
0 files changed, 0 insertions, 0 deletions