diff options
Diffstat (limited to 'ipc')
-rw-r--r-- | ipc/shm.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -39,6 +39,7 @@ | |||
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> | ||
42 | 43 | ||
43 | #include <asm/uaccess.h> | 44 | #include <asm/uaccess.h> |
44 | 45 | ||
@@ -381,6 +382,7 @@ static int newseg(struct ipc_namespace *ns, struct ipc_params *params) | |||
381 | error = PTR_ERR(file); | 382 | error = PTR_ERR(file); |
382 | if (IS_ERR(file)) | 383 | if (IS_ERR(file)) |
383 | goto no_file; | 384 | goto no_file; |
385 | ima_shm_check(file); | ||
384 | 386 | ||
385 | id = ipc_addid(&shm_ids(ns), &shp->shm_perm, ns->shm_ctlmni); | 387 | id = ipc_addid(&shm_ids(ns), &shp->shm_perm, ns->shm_ctlmni); |
386 | if (id < 0) { | 388 | if (id < 0) { |
@@ -888,6 +890,7 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr) | |||
888 | file = alloc_file(path.mnt, path.dentry, f_mode, &shm_file_operations); | 890 | file = alloc_file(path.mnt, path.dentry, f_mode, &shm_file_operations); |
889 | if (!file) | 891 | if (!file) |
890 | goto out_free; | 892 | goto out_free; |
893 | ima_shm_check(file); | ||
891 | 894 | ||
892 | file->private_data = sfd; | 895 | file->private_data = sfd; |
893 | file->f_mapping = shp->shm_file->f_mapping; | 896 | file->f_mapping = shp->shm_file->f_mapping; |