Lines Matching refs:mm
323 struct mm_struct *mm = vma->vm_mm; in aio_ring_mremap() local
327 spin_lock(&mm->ioctx_lock); in aio_ring_mremap()
329 table = rcu_dereference(mm->ioctx_table); in aio_ring_mremap()
344 spin_unlock(&mm->ioctx_lock); in aio_ring_mremap()
449 struct mm_struct *mm = current->mm; in aio_setup_ring() local
508 if (down_write_killable(&mm->mmap_sem)) { in aio_setup_ring()
517 up_write(&mm->mmap_sem); in aio_setup_ring()
650 static int ioctx_add_table(struct kioctx *ctx, struct mm_struct *mm) in ioctx_add_table() argument
656 spin_lock(&mm->ioctx_lock); in ioctx_add_table()
657 table = rcu_dereference_raw(mm->ioctx_table); in ioctx_add_table()
665 spin_unlock(&mm->ioctx_lock); in ioctx_add_table()
678 spin_unlock(&mm->ioctx_lock); in ioctx_add_table()
687 spin_lock(&mm->ioctx_lock); in ioctx_add_table()
688 old = rcu_dereference_raw(mm->ioctx_table); in ioctx_add_table()
691 rcu_assign_pointer(mm->ioctx_table, table); in ioctx_add_table()
696 rcu_assign_pointer(mm->ioctx_table, table); in ioctx_add_table()
720 struct mm_struct *mm = current->mm; in ioctx_alloc() local
794 err = ioctx_add_table(ctx, mm); in ioctx_alloc()
802 ctx, ctx->user_id, mm, ctx->nr_events); in ioctx_alloc()
827 static int kill_ioctx(struct mm_struct *mm, struct kioctx *ctx, in kill_ioctx() argument
832 spin_lock(&mm->ioctx_lock); in kill_ioctx()
834 spin_unlock(&mm->ioctx_lock); in kill_ioctx()
838 table = rcu_dereference_raw(mm->ioctx_table); in kill_ioctx()
841 spin_unlock(&mm->ioctx_lock); in kill_ioctx()
871 void exit_aio(struct mm_struct *mm) in exit_aio() argument
873 struct kioctx_table *table = rcu_dereference_raw(mm->ioctx_table); in exit_aio()
901 kill_ioctx(mm, ctx, &wait); in exit_aio()
909 RCU_INIT_POINTER(mm->ioctx_table, NULL); in exit_aio()
1061 struct mm_struct *mm = current->mm; in lookup_ioctx() local
1070 table = rcu_dereference(mm->ioctx_table); in lookup_ioctx()
1379 kill_ioctx(current->mm, ioctx, NULL); in SYSCALL_DEFINE2()
1407 ret = kill_ioctx(current->mm, ioctx, &wait); in SYSCALL_DEFINE1()