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 | ||
@@ -383,6 +384,7 @@ static int newseg(struct ipc_namespace *ns, struct ipc_params *params) | |||
383 | error = PTR_ERR(file); | 384 | error = PTR_ERR(file); |
384 | if (IS_ERR(file)) | 385 | if (IS_ERR(file)) |
385 | goto no_file; | 386 | goto no_file; |
387 | ima_shm_check(file); | ||
386 | 388 | ||
387 | id = ipc_addid(&shm_ids(ns), &shp->shm_perm, ns->shm_ctlmni); | 389 | id = ipc_addid(&shm_ids(ns), &shp->shm_perm, ns->shm_ctlmni); |
388 | if (id < 0) { | 390 | if (id < 0) { |
@@ -887,6 +889,7 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr) | |||
887 | file = alloc_file(path.mnt, path.dentry, f_mode, &shm_file_operations); | 889 | file = alloc_file(path.mnt, path.dentry, f_mode, &shm_file_operations); |
888 | if (!file) | 890 | if (!file) |
889 | goto out_free; | 891 | goto out_free; |
892 | ima_shm_check(file); | ||
890 | 893 | ||
891 | file->private_data = sfd; | 894 | file->private_data = sfd; |
892 | file->f_mapping = shp->shm_file->f_mapping; | 895 | file->f_mapping = shp->shm_file->f_mapping; |