Lines Matching refs:fctx
642 struct userfaultfd_fork_ctx *fctx; in dup_userfaultfd() local
654 list_for_each_entry(fctx, fcs, list) in dup_userfaultfd()
655 if (fctx->orig == octx) { in dup_userfaultfd()
656 ctx = fctx->new; in dup_userfaultfd()
661 fctx = kmalloc(sizeof(*fctx), GFP_KERNEL); in dup_userfaultfd()
662 if (!fctx) in dup_userfaultfd()
667 kfree(fctx); in dup_userfaultfd()
681 fctx->orig = octx; in dup_userfaultfd()
682 fctx->new = ctx; in dup_userfaultfd()
683 list_add_tail(&fctx->list, fcs); in dup_userfaultfd()
690 static void dup_fctx(struct userfaultfd_fork_ctx *fctx) in dup_fctx() argument
692 struct userfaultfd_ctx *ctx = fctx->orig; in dup_fctx()
698 ewq.msg.arg.reserved.reserved1 = (unsigned long)fctx->new; in dup_fctx()
705 struct userfaultfd_fork_ctx *fctx, *n; in dup_userfaultfd_complete() local
707 list_for_each_entry_safe(fctx, n, fcs, list) { in dup_userfaultfd_complete()
708 dup_fctx(fctx); in dup_userfaultfd_complete()
709 list_del(&fctx->list); in dup_userfaultfd_complete()
710 kfree(fctx); in dup_userfaultfd_complete()