forked from luck/tmp_suning_uos_patched
ipc: drop ipcctl_pre_down
Now that sem, msgque and shm, through *_down(), all use the lockless variant of ipcctl_pre_down(), go ahead and delete it. [akpm@linux-foundation.org: fix function name in kerneldoc, cleanups] Signed-off-by: Davidlohr Bueso <davidlohr.bueso@hp.com> Tested-by: Sedat Dilek <sedat.dilek@gmail.com> Cc: Rik van Riel <riel@redhat.com> Cc: Manfred Spraul <manfred@colorfullife.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
79ccf0f8c8
commit
3b1c4ad377
24
ipc/util.c
24
ipc/util.c
|
@ -733,7 +733,7 @@ int ipc_update_perm(struct ipc64_perm *in, struct kern_ipc_perm *out)
|
|||
}
|
||||
|
||||
/**
|
||||
* ipcctl_pre_down - retrieve an ipc and check permissions for some IPC_XXX cmd
|
||||
* ipcctl_pre_down_nolock - retrieve an ipc and check permissions for some IPC_XXX cmd
|
||||
* @ns: the ipc namespace
|
||||
* @ids: the table of ids where to look for the ipc
|
||||
* @id: the id of the ipc to retrieve
|
||||
|
@ -746,29 +746,13 @@ int ipc_update_perm(struct ipc64_perm *in, struct kern_ipc_perm *out)
|
|||
* It must be called without any lock held and
|
||||
* - retrieves the ipc with the given id in the given table.
|
||||
* - performs some audit and permission check, depending on the given cmd
|
||||
* - returns the ipc with the ipc lock held in case of success
|
||||
* or an err-code without any lock held otherwise.
|
||||
* - returns a pointer to the ipc object or otherwise, the corresponding error.
|
||||
*
|
||||
* Call holding the both the rw_mutex and the rcu read lock.
|
||||
*/
|
||||
struct kern_ipc_perm *ipcctl_pre_down(struct ipc_namespace *ns,
|
||||
struct ipc_ids *ids, int id, int cmd,
|
||||
struct ipc64_perm *perm, int extra_perm)
|
||||
{
|
||||
struct kern_ipc_perm *ipcp;
|
||||
|
||||
ipcp = ipcctl_pre_down_nolock(ns, ids, id, cmd, perm, extra_perm);
|
||||
if (IS_ERR(ipcp))
|
||||
goto out;
|
||||
|
||||
spin_lock(&ipcp->lock);
|
||||
out:
|
||||
return ipcp;
|
||||
}
|
||||
|
||||
struct kern_ipc_perm *ipcctl_pre_down_nolock(struct ipc_namespace *ns,
|
||||
struct ipc_ids *ids, int id, int cmd,
|
||||
struct ipc64_perm *perm, int extra_perm)
|
||||
struct ipc_ids *ids, int id, int cmd,
|
||||
struct ipc64_perm *perm, int extra_perm)
|
||||
{
|
||||
kuid_t euid;
|
||||
int err = -EPERM;
|
||||
|
|
|
@ -131,9 +131,6 @@ int ipc_update_perm(struct ipc64_perm *in, struct kern_ipc_perm *out);
|
|||
struct kern_ipc_perm *ipcctl_pre_down_nolock(struct ipc_namespace *ns,
|
||||
struct ipc_ids *ids, int id, int cmd,
|
||||
struct ipc64_perm *perm, int extra_perm);
|
||||
struct kern_ipc_perm *ipcctl_pre_down(struct ipc_namespace *ns,
|
||||
struct ipc_ids *ids, int id, int cmd,
|
||||
struct ipc64_perm *perm, int extra_perm);
|
||||
|
||||
#ifndef CONFIG_ARCH_WANT_IPC_PARSE_VERSION
|
||||
/* On IA-64, we always use the "64-bit version" of the IPC structures. */
|
||||
|
|
Loading…
Reference in New Issue
Block a user