diff options
author | Pierre Peiffer <pierre.peiffer@bull.net> | 2008-04-29 01:00:54 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-29 08:06:14 -0700 |
commit | a5f75e7f256f75759ec3d6dbef0ba932f1b397d2 (patch) | |
tree | 89b2ed22547a9fca11f87eb6cba68bb84fcf1b8a /ipc/util.h | |
parent | 8f4a3809c18ff3107bdbb1fabe3f4e5d2a928321 (diff) | |
download | lwn-a5f75e7f256f75759ec3d6dbef0ba932f1b397d2.tar.gz lwn-a5f75e7f256f75759ec3d6dbef0ba932f1b397d2.zip |
IPC: consolidate all xxxctl_down() functions
semctl_down(), msgctl_down() and shmctl_down() are used to handle the same set
of commands for each kind of IPC. They all start to do the same job (they
retrieve the ipc and do some permission checks) before handling the commands
on their own.
This patch proposes to consolidate this by moving these same pieces of code
into one common function called ipcctl_pre_down().
It simplifies a little these xxxctl_down() functions and increases a little
the maintainability.
Signed-off-by: Pierre Peiffer <pierre.peiffer@bull.net>
Acked-by: Serge Hallyn <serue@us.ibm.com>
Cc: Nadia Derbey <Nadia.Derbey@bull.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'ipc/util.h')
-rw-r--r-- | ipc/util.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/ipc/util.h b/ipc/util.h index 12966913ebc6..791c5c012718 100644 --- a/ipc/util.h +++ b/ipc/util.h @@ -113,6 +113,8 @@ struct kern_ipc_perm *ipc_lock(struct ipc_ids *, int); void kernel_to_ipc64_perm(struct kern_ipc_perm *in, struct ipc64_perm *out); void ipc64_perm_to_ipc_perm(struct ipc64_perm *in, struct ipc_perm *out); void ipc_update_perm(struct ipc64_perm *in, struct kern_ipc_perm *out); +struct kern_ipc_perm *ipcctl_pre_down(struct ipc_ids *ids, int id, int cmd, + struct ipc64_perm *perm, int extra_perm); #if defined(__ia64__) || defined(__x86_64__) || defined(__hppa__) || defined(__XTENSA__) /* On IA-64, we always use the "64-bit version" of the IPC structures. */ |