diff options
Diffstat (limited to 'ipc')
-rw-r--r-- | ipc/sem.c | 4 | ||||
-rw-r--r-- | ipc/shm.c | 3 |
2 files changed, 3 insertions, 4 deletions
@@ -1290,8 +1290,8 @@ void exit_sem(struct task_struct *tsk) | |||
1290 | int i; | 1290 | int i; |
1291 | 1291 | ||
1292 | rcu_read_lock(); | 1292 | rcu_read_lock(); |
1293 | un = list_entry(rcu_dereference(ulp->list_proc.next), | 1293 | un = list_entry_rcu(ulp->list_proc.next, |
1294 | struct sem_undo, list_proc); | 1294 | struct sem_undo, list_proc); |
1295 | if (&un->list_proc == &ulp->list_proc) | 1295 | if (&un->list_proc == &ulp->list_proc) |
1296 | semid = -1; | 1296 | semid = -1; |
1297 | else | 1297 | else |
@@ -384,7 +384,6 @@ static int newseg(struct ipc_namespace *ns, struct ipc_params *params) | |||
384 | error = PTR_ERR(file); | 384 | error = PTR_ERR(file); |
385 | if (IS_ERR(file)) | 385 | if (IS_ERR(file)) |
386 | goto no_file; | 386 | goto no_file; |
387 | ima_shm_check(file); | ||
388 | 387 | ||
389 | id = ipc_addid(&shm_ids(ns), &shp->shm_perm, ns->shm_ctlmni); | 388 | id = ipc_addid(&shm_ids(ns), &shp->shm_perm, ns->shm_ctlmni); |
390 | if (id < 0) { | 389 | if (id < 0) { |
@@ -891,7 +890,7 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr) | |||
891 | 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); |
892 | if (!file) | 891 | if (!file) |
893 | goto out_free; | 892 | goto out_free; |
894 | ima_shm_check(file); | 893 | ima_counts_get(file); |
895 | 894 | ||
896 | file->private_data = sfd; | 895 | file->private_data = sfd; |
897 | file->f_mapping = shp->shm_file->f_mapping; | 896 | file->f_mapping = shp->shm_file->f_mapping; |