Lines Matching refs:fctx
620 struct userfaultfd_fork_ctx *fctx; in dup_userfaultfd() local
631 list_for_each_entry(fctx, fcs, list) in dup_userfaultfd()
632 if (fctx->orig == octx) { in dup_userfaultfd()
633 ctx = fctx->new; in dup_userfaultfd()
638 fctx = kmalloc(sizeof(*fctx), GFP_KERNEL); in dup_userfaultfd()
639 if (!fctx) in dup_userfaultfd()
644 kfree(fctx); in dup_userfaultfd()
661 fctx->orig = octx; in dup_userfaultfd()
662 fctx->new = ctx; in dup_userfaultfd()
663 list_add_tail(&fctx->list, fcs); in dup_userfaultfd()
670 static void dup_fctx(struct userfaultfd_fork_ctx *fctx) in dup_fctx() argument
672 struct userfaultfd_ctx *ctx = fctx->orig; in dup_fctx()
678 ewq.msg.arg.reserved.reserved1 = (unsigned long)fctx->new; in dup_fctx()
685 struct userfaultfd_fork_ctx *fctx, *n; in dup_userfaultfd_complete() local
687 list_for_each_entry_safe(fctx, n, fcs, list) { in dup_userfaultfd_complete()
688 dup_fctx(fctx); in dup_userfaultfd_complete()
689 list_del(&fctx->list); in dup_userfaultfd_complete()
690 kfree(fctx); in dup_userfaultfd_complete()
696 struct userfaultfd_fork_ctx *fctx, *n; in dup_userfaultfd_fail() local
708 list_for_each_entry_safe(fctx, n, fcs, list) { in dup_userfaultfd_fail()
709 struct userfaultfd_ctx *octx = fctx->orig; in dup_userfaultfd_fail()
710 struct userfaultfd_ctx *ctx = fctx->new; in dup_userfaultfd_fail()
717 list_del(&fctx->list); in dup_userfaultfd_fail()
718 kfree(fctx); in dup_userfaultfd_fail()