lkml.org 
[lkml]   [2018]   [Jul]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4/6] ipc: Rename ipcctl_pre_down_nolock().
    Date
    Both the comment and the name of ipcctl_pre_down_nolock()
    are misleading: The function must be called while holdling
    the rw semaphore.
    Therefore the patch renames the function to ipcctl_obtain_check():
    This name matches the other names used in util.c:
    - "obtain" function look up a pointer in the idr, without
    acquiring the object lock.
    - The caller is responsible for locking.
    - _check means that some checks are made.

    Signed-off-by: Manfred Spraul <manfred@colorfullife.com>
    ---
    ipc/msg.c | 2 +-
    ipc/sem.c | 2 +-
    ipc/shm.c | 2 +-
    ipc/util.c | 6 +++---
    ipc/util.h | 2 +-
    5 files changed, 7 insertions(+), 7 deletions(-)

    diff --git a/ipc/msg.c b/ipc/msg.c
    index 5bf5cb8017ea..ba85d8849e8d 100644
    --- a/ipc/msg.c
    +++ b/ipc/msg.c
    @@ -385,7 +385,7 @@ static int msgctl_down(struct ipc_namespace *ns, int msqid, int cmd,
    down_write(&msg_ids(ns).rwsem);
    rcu_read_lock();

    - ipcp = ipcctl_pre_down_nolock(ns, &msg_ids(ns), msqid, cmd,
    + ipcp = ipcctl_obtain_check(ns, &msg_ids(ns), msqid, cmd,
    &msqid64->msg_perm, msqid64->msg_qbytes);
    if (IS_ERR(ipcp)) {
    err = PTR_ERR(ipcp);
    diff --git a/ipc/sem.c b/ipc/sem.c
    index 9d49efeac2e5..9742e9a1c0c2 100644
    --- a/ipc/sem.c
    +++ b/ipc/sem.c
    @@ -1595,7 +1595,7 @@ static int semctl_down(struct ipc_namespace *ns, int semid,
    down_write(&sem_ids(ns).rwsem);
    rcu_read_lock();

    - ipcp = ipcctl_pre_down_nolock(ns, &sem_ids(ns), semid, cmd,
    + ipcp = ipcctl_obtain_check(ns, &sem_ids(ns), semid, cmd,
    &semid64->sem_perm, 0);
    if (IS_ERR(ipcp)) {
    err = PTR_ERR(ipcp);
    diff --git a/ipc/shm.c b/ipc/shm.c
    index 06b7bf11a011..426ba1039a7b 100644
    --- a/ipc/shm.c
    +++ b/ipc/shm.c
    @@ -868,7 +868,7 @@ static int shmctl_down(struct ipc_namespace *ns, int shmid, int cmd,
    down_write(&shm_ids(ns).rwsem);
    rcu_read_lock();

    - ipcp = ipcctl_pre_down_nolock(ns, &shm_ids(ns), shmid, cmd,
    + ipcp = ipcctl_obtain_check(ns, &shm_ids(ns), shmid, cmd,
    &shmid64->shm_perm, 0);
    if (IS_ERR(ipcp)) {
    err = PTR_ERR(ipcp);
    diff --git a/ipc/util.c b/ipc/util.c
    index 8b09496ed720..751d39baaf38 100644
    --- a/ipc/util.c
    +++ b/ipc/util.c
    @@ -703,7 +703,7 @@ int ipc_update_perm(struct ipc64_perm *in, struct kern_ipc_perm *out)
    }

    /**
    - * ipcctl_pre_down_nolock - retrieve an ipc and check permissions for some IPC_XXX cmd
    + * ipcctl_obtain_check - retrieve an ipc and check permissions for some IPC_XXX cmd
    * @ns: ipc namespace
    * @ids: the table of ids where to look for the ipc
    * @id: the id of the ipc to retrieve
    @@ -713,7 +713,7 @@ int ipc_update_perm(struct ipc64_perm *in, struct kern_ipc_perm *out)
    *
    * 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:
    + * It:
    *
    * - retrieves the ipc with the given id in the given table.
    * - performs some audit and permission check, depending on the given cmd
    @@ -722,7 +722,7 @@ int ipc_update_perm(struct ipc64_perm *in, struct kern_ipc_perm *out)
    *
    * Call holding the both the rwsem and the rcu read lock.
    */
    -struct kern_ipc_perm *ipcctl_pre_down_nolock(struct ipc_namespace *ns,
    +struct kern_ipc_perm *ipcctl_obtain_check(struct ipc_namespace *ns,
    struct ipc_ids *ids, int id, int cmd,
    struct ipc64_perm *perm, int extra_perm)
    {
    diff --git a/ipc/util.h b/ipc/util.h
    index 0aba3230d007..fcf81425ae98 100644
    --- a/ipc/util.h
    +++ b/ipc/util.h
    @@ -148,7 +148,7 @@ struct kern_ipc_perm *ipc_obtain_object_idr(struct ipc_ids *ids, int id);
    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);
    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 kern_ipc_perm *ipcctl_obtain_check(struct ipc_namespace *ns,
    struct ipc_ids *ids, int id, int cmd,
    struct ipc64_perm *perm, int extra_perm);

    --
    2.17.1
    \
     
     \ /
      Last update: 2018-07-05 08:00    [W:3.428 / U:0.168 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site