diff options
Diffstat (limited to 'ipc/shm.c')
| -rw-r--r-- | ipc/shm.c | 4 |
1 files changed, 2 insertions, 2 deletions
| @@ -620,13 +620,13 @@ asmlinkage long sys_shmctl (int shmid, int cmd, struct shmid_ds __user *buf) | |||
| 620 | err = -EFAULT; | 620 | err = -EFAULT; |
| 621 | goto out; | 621 | goto out; |
| 622 | } | 622 | } |
| 623 | if ((err = audit_ipc_perms(0, setbuf.uid, setbuf.gid, setbuf.mode))) | ||
| 624 | return err; | ||
| 625 | down(&shm_ids.sem); | 623 | down(&shm_ids.sem); |
| 626 | shp = shm_lock(shmid); | 624 | shp = shm_lock(shmid); |
| 627 | err=-EINVAL; | 625 | err=-EINVAL; |
| 628 | if(shp==NULL) | 626 | if(shp==NULL) |
| 629 | goto out_up; | 627 | goto out_up; |
| 628 | if ((err = audit_ipc_perms(0, setbuf.uid, setbuf.gid, setbuf.mode, &(shp->shm_perm)))) | ||
| 629 | goto out_unlock_up; | ||
| 630 | err = shm_checkid(shp,shmid); | 630 | err = shm_checkid(shp,shmid); |
| 631 | if(err) | 631 | if(err) |
| 632 | goto out_unlock_up; | 632 | goto out_unlock_up; |
