mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 03:01:39 -04:00
ipc: get rid of ipc_lock_down()
Remove the ipc_lock_down() routines: they used to call idr_find() locklessly (given that the ipc ids lock was already held), so they are not needed anymore. Signed-off-by: Nadia Derbey <[email protected]> Acked-by: "Paul E. McKenney" <[email protected]> Cc: Manfred Spraul <[email protected]> Cc: Jim Houston <[email protected]> Cc: Pierre Peiffer <[email protected]> Acked-by: Rik van Riel <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
983bfb7db3
commit
00c2bf85d8
3 changed files with 4 additions and 75 deletions
21
ipc/shm.c
21
ipc/shm.c
|
|
@ -111,24 +111,9 @@ void __init shm_init (void)
|
|||
IPC_SHM_IDS, sysvipc_shm_proc_show);
|
||||
}
|
||||
|
||||
/*
|
||||
* shm_lock_(check_)down routines are called in the paths where the rw_mutex
|
||||
* is held to protect access to the idr tree.
|
||||
*/
|
||||
static inline struct shmid_kernel *shm_lock_down(struct ipc_namespace *ns,
|
||||
int id)
|
||||
{
|
||||
struct kern_ipc_perm *ipcp = ipc_lock_down(&shm_ids(ns), id);
|
||||
|
||||
if (IS_ERR(ipcp))
|
||||
return (struct shmid_kernel *)ipcp;
|
||||
|
||||
return container_of(ipcp, struct shmid_kernel, shm_perm);
|
||||
}
|
||||
|
||||
/*
|
||||
* shm_lock_(check_) routines are called in the paths where the rw_mutex
|
||||
* is not held.
|
||||
* is not necessarily held.
|
||||
*/
|
||||
static inline struct shmid_kernel *shm_lock(struct ipc_namespace *ns, int id)
|
||||
{
|
||||
|
|
@ -211,7 +196,7 @@ static void shm_close(struct vm_area_struct *vma)
|
|||
|
||||
down_write(&shm_ids(ns).rw_mutex);
|
||||
/* remove from the list of attaches of the shm segment */
|
||||
shp = shm_lock_down(ns, sfd->id);
|
||||
shp = shm_lock(ns, sfd->id);
|
||||
BUG_ON(IS_ERR(shp));
|
||||
shp->shm_lprid = task_tgid_vnr(current);
|
||||
shp->shm_dtim = get_seconds();
|
||||
|
|
@ -932,7 +917,7 @@ invalid:
|
|||
|
||||
out_nattch:
|
||||
down_write(&shm_ids(ns).rw_mutex);
|
||||
shp = shm_lock_down(ns, shmid);
|
||||
shp = shm_lock(ns, shmid);
|
||||
BUG_ON(IS_ERR(shp));
|
||||
shp->shm_nattch--;
|
||||
if(shp->shm_nattch == 0 &&
|
||||
|
|
|
|||
Loading…
Reference in a new issue