diff options
| author | David S. Miller <davem@davemloft.net> | 2009-03-28 03:19:16 +0300 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2009-03-28 03:19:16 +0300 |
| commit | a83398570e17af6bb81eb94f4f5dd356bd2828d8 (patch) | |
| tree | 5b5c7c3a56898485479291b7c964a1f3887d469c /ipc | |
| parent | f9384d41c02408dd404aa64d66d0ef38adcf6479 (diff) | |
| parent | 0b4d569de222452bcb55a4a536ade6cf4d8d1e30 (diff) | |
| download | linux-a83398570e17af6bb81eb94f4f5dd356bd2828d8.tar.xz | |
Merge branch 'master' of /home/davem/src/GIT/linux-2.6/
Diffstat (limited to 'ipc')
| -rw-r--r-- | ipc/mqueue.c | 2 | ||||
| -rw-r--r-- | ipc/shm.c | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/ipc/mqueue.c b/ipc/mqueue.c index 54b4077fed79..a8ddadbc7459 100644 --- a/ipc/mqueue.c +++ b/ipc/mqueue.c @@ -1156,10 +1156,12 @@ SYSCALL_DEFINE3(mq_getsetattr, mqd_t, mqdes, omqstat.mq_flags = filp->f_flags & O_NONBLOCK; if (u_mqstat) { audit_mq_getsetattr(mqdes, &mqstat); + spin_lock(&filp->f_lock); if (mqstat.mq_flags & O_NONBLOCK) filp->f_flags |= O_NONBLOCK; else filp->f_flags &= ~O_NONBLOCK; + spin_unlock(&filp->f_lock); inode->i_atime = inode->i_ctime = CURRENT_TIME; } diff --git a/ipc/shm.c b/ipc/shm.c index 05d51d2a792c..f239d87e0d37 100644 --- a/ipc/shm.c +++ b/ipc/shm.c @@ -39,6 +39,7 @@ #include <linux/nsproxy.h> #include <linux/mount.h> #include <linux/ipc_namespace.h> +#include <linux/ima.h> #include <asm/uaccess.h> @@ -383,6 +384,7 @@ static int newseg(struct ipc_namespace *ns, struct ipc_params *params) error = PTR_ERR(file); if (IS_ERR(file)) goto no_file; + ima_shm_check(file); id = ipc_addid(&shm_ids(ns), &shp->shm_perm, ns->shm_ctlmni); if (id < 0) { @@ -887,6 +889,7 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr) file = alloc_file(path.mnt, path.dentry, f_mode, &shm_file_operations); if (!file) goto out_free; + ima_shm_check(file); file->private_data = sfd; file->f_mapping = shp->shm_file->f_mapping; |
