1. NAME

ipcctl_pre_down - retrieve an ipc and check permissions for some IPC_XXX cmd

2. SYNOPSIS

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 );

3. ARGUMENTS

ns
    the ipc namespace

ids
    the table of ids where to look for the ipc

id
    the id of the ipc to retrieve

cmd
    the cmd to check

perm
    the permission to set

extra_perm
    one extra permission parameter used by msq

4. DESCRIPTION

This function does some common audit and permissions check for some IPC_XXX cmd and is called from semctl_down, shmctl_down and msgctl_down. 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 both ipc and rw_mutex locks held in case of success or an err-code without any lock held otherwise.

5. COPYRIGHT