aboutsummaryrefslogtreecommitdiffstats
path: root/ipc
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2009-12-16 15:04:02 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2009-12-16 15:04:02 -0500
commitbac5e54c29f352d962a2447d22735316b347b9f1 (patch)
tree7642993fa93164835ffaa2dacd341388193f1979 /ipc
parent529e89430d6c0d64db8ac474cb95e68e2527c79a (diff)
parentc05c4edd876b7ae92787d1295868afcb89b6a348 (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
* 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (38 commits) direct I/O fallback sync simplification ocfs: stop using do_sync_mapping_range cleanup blockdev_direct_IO locking make generic_acl slightly more generic sanitize xattr handler prototypes libfs: move EXPORT_SYMBOL for d_alloc_name vfs: force reval of target when following LAST_BIND symlinks (try #7) ima: limit imbalance msg Untangling ima mess, part 3: kill dead code in ima Untangling ima mess, part 2: deal with counters Untangling ima mess, part 1: alloc_file() O_TRUNC open shouldn't fail after file truncation ima: call ima_inode_free ima_inode_free IMA: clean up the IMA counts updating code ima: only insert at inode creation time ima: valid return code from ima_inode_alloc fs: move get_empty_filp() deffinition to internal.h Sanitize exec_permission_lite() Kill cached_lookup() and real_lookup() Kill path_lookup_open() ... Trivial conflicts in fs/direct-io.c
Diffstat (limited to 'ipc')
-rw-r--r--ipc/mqueue.c2
-rw-r--r--ipc/shm.c12
2 files changed, 5 insertions, 9 deletions
diff --git a/ipc/mqueue.c b/ipc/mqueue.c
index ee9d69707c0..c79bd57353e 100644
--- a/ipc/mqueue.c
+++ b/ipc/mqueue.c
@@ -32,7 +32,6 @@
32#include <linux/nsproxy.h> 32#include <linux/nsproxy.h>
33#include <linux/pid.h> 33#include <linux/pid.h>
34#include <linux/ipc_namespace.h> 34#include <linux/ipc_namespace.h>
35#include <linux/ima.h>
36 35
37#include <net/sock.h> 36#include <net/sock.h>
38#include "util.h" 37#include "util.h"
@@ -734,7 +733,6 @@ SYSCALL_DEFINE4(mq_open, const char __user *, u_name, int, oflag, mode_t, mode,
734 error = PTR_ERR(filp); 733 error = PTR_ERR(filp);
735 goto out_putfd; 734 goto out_putfd;
736 } 735 }
737 ima_counts_get(filp);
738 736
739 fd_install(fd, filp); 737 fd_install(fd, filp);
740 goto out_upsem; 738 goto out_upsem;
diff --git a/ipc/shm.c b/ipc/shm.c
index e9b039f7412..92fe9236258 100644
--- a/ipc/shm.c
+++ b/ipc/shm.c
@@ -39,7 +39,6 @@
39#include <linux/nsproxy.h> 39#include <linux/nsproxy.h>
40#include <linux/mount.h> 40#include <linux/mount.h>
41#include <linux/ipc_namespace.h> 41#include <linux/ipc_namespace.h>
42#include <linux/ima.h>
43 42
44#include <asm/uaccess.h> 43#include <asm/uaccess.h>
45 44
@@ -879,8 +878,8 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr)
879 if (err) 878 if (err)
880 goto out_unlock; 879 goto out_unlock;
881 880
882 path.dentry = dget(shp->shm_file->f_path.dentry); 881 path = shp->shm_file->f_path;
883 path.mnt = shp->shm_file->f_path.mnt; 882 path_get(&path);
884 shp->shm_nattch++; 883 shp->shm_nattch++;
885 size = i_size_read(path.dentry->d_inode); 884 size = i_size_read(path.dentry->d_inode);
886 shm_unlock(shp); 885 shm_unlock(shp);
@@ -890,13 +889,12 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr)
890 if (!sfd) 889 if (!sfd)
891 goto out_put_dentry; 890 goto out_put_dentry;
892 891
893 file = alloc_file(path.mnt, path.dentry, f_mode, 892 file = alloc_file(&path, f_mode,
894 is_file_hugepages(shp->shm_file) ? 893 is_file_hugepages(shp->shm_file) ?
895 &shm_file_operations_huge : 894 &shm_file_operations_huge :
896 &shm_file_operations); 895 &shm_file_operations);
897 if (!file) 896 if (!file)
898 goto out_free; 897 goto out_free;
899 ima_counts_get(file);
900 898
901 file->private_data = sfd; 899 file->private_data = sfd;
902 file->f_mapping = shp->shm_file->f_mapping; 900 file->f_mapping = shp->shm_file->f_mapping;
@@ -951,7 +949,7 @@ out_unlock:
951out_free: 949out_free:
952 kfree(sfd); 950 kfree(sfd);
953out_put_dentry: 951out_put_dentry:
954 dput(path.dentry); 952 path_put(&path);
955 goto out_nattch; 953 goto out_nattch;
956} 954}
957 955