Lines Matching refs:fctx
621 struct userfaultfd_fork_ctx *fctx; in dup_userfaultfd() local
632 list_for_each_entry(fctx, fcs, list) in dup_userfaultfd()
633 if (fctx->orig == octx) { in dup_userfaultfd()
634 ctx = fctx->new; in dup_userfaultfd()
639 fctx = kmalloc(sizeof(*fctx), GFP_KERNEL); in dup_userfaultfd()
640 if (!fctx) in dup_userfaultfd()
645 kfree(fctx); in dup_userfaultfd()
662 fctx->orig = octx; in dup_userfaultfd()
663 fctx->new = ctx; in dup_userfaultfd()
664 list_add_tail(&fctx->list, fcs); in dup_userfaultfd()
671 static void dup_fctx(struct userfaultfd_fork_ctx *fctx) in dup_fctx() argument
673 struct userfaultfd_ctx *ctx = fctx->orig; in dup_fctx()
679 ewq.msg.arg.reserved.reserved1 = (unsigned long)fctx->new; in dup_fctx()
686 struct userfaultfd_fork_ctx *fctx, *n; in dup_userfaultfd_complete() local
688 list_for_each_entry_safe(fctx, n, fcs, list) { in dup_userfaultfd_complete()
689 dup_fctx(fctx); in dup_userfaultfd_complete()
690 list_del(&fctx->list); in dup_userfaultfd_complete()
691 kfree(fctx); in dup_userfaultfd_complete()
697 struct userfaultfd_fork_ctx *fctx, *n; in dup_userfaultfd_fail() local
709 list_for_each_entry_safe(fctx, n, fcs, list) { in dup_userfaultfd_fail()
710 struct userfaultfd_ctx *octx = fctx->orig; in dup_userfaultfd_fail()
711 struct userfaultfd_ctx *ctx = fctx->new; in dup_userfaultfd_fail()
718 list_del(&fctx->list); in dup_userfaultfd_fail()
719 kfree(fctx); in dup_userfaultfd_fail()