IPC: introduce ipc_update_perm()

The IPC_SET command performs the same permission setting for all IPCs.  This
patch introduces a common ipc_update_perm() function to update these
permissions and makes use of it for all IPCs.

Signed-off-by: Pierre Peiffer <[email protected]>
Acked-by: Serge Hallyn <[email protected]>
Cc: Nadia Derbey <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
Pierre Peiffer 2008-04-29 01:00:51 -07:00 • committed by Linus Torvalds
commit 8f4a3809c1
5 changed files with 17 additions and 12 deletions

View file

@ -913,10 +913,7 @@ static int semctl_down(struct ipc_namespace *ns, int semid,
freeary(ns, ipcp);
goto out_up;
case IPC_SET:
ipcp->uid = semid64.sem_perm.uid;
ipcp->gid = semid64.sem_perm.gid;
ipcp->mode = (ipcp->mode & ~S_IRWXUGO)
| (semid64.sem_perm.mode & S_IRWXUGO);
ipc_update_perm(&semid64.sem_perm, ipcp);
sma->sem_ctime = get_seconds();
break;
default: