1
linux/ipc
Dave Hansen 4a3fd211cc [PATCH] r/o bind mounts: elevate write count for open()s
This is the first really tricky patch in the series.  It elevates the writer
count on a mount each time a non-special file is opened for write.

We used to do this in may_open(), but Miklos pointed out that __dentry_open()
is used as well to create filps.  This will cover even those cases, while a
call in may_open() would not have.

There is also an elevated count around the vfs_create() call in open_namei().
See the comments for more details, but we need this to fix a 'create, remount,
fail r/w open()' race.

Some filesystems forego the use of normal vfs calls to create
struct files.   Make sure that these users elevate the mnt
writer count because they will get __fput(), and we need
to make sure they're balanced.

Acked-by: Al Viro <viro@ZenIV.linux.org.uk>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dave Hansen <haveblue@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2008-04-19 00:29:25 -04:00
..
compat_mq.c
compat.c fix logic error in ipc compat semctl() 2007-07-06 10:23:43 -07:00
ipc_sysctl.c namespaces: move the IPC namespace under IPC_NS option 2008-02-08 09:22:23 -08:00
Makefile namespaces: move the IPC namespace under IPC_NS option 2008-02-08 09:22:23 -08:00
mqueue.c [PATCH] r/o bind mounts: elevate write count for open()s 2008-04-19 00:29:25 -04:00
msg.c IPC: consolidate sem_exit_ns(), msg_exit_ns() and shm_exit_ns() 2008-02-08 09:22:26 -08:00
msgutil.c [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
namespace.c IPC: consolidate sem_exit_ns(), msg_exit_ns() and shm_exit_ns() 2008-02-08 09:22:26 -08:00
sem.c IPC: consolidate sem_exit_ns(), msg_exit_ns() and shm_exit_ns() 2008-02-08 09:22:26 -08:00
shm.c mempolicy: fix reference counting bugs 2008-03-10 18:01:19 -07:00
util.c IPC: make struct ipc_ids static in ipc_namespace 2008-02-08 09:22:26 -08:00
util.h IPC: make struct ipc_ids static in ipc_namespace 2008-02-08 09:22:26 -08:00