Lines Matching refs:fctx
634 struct userfaultfd_fork_ctx *fctx; in dup_userfaultfd() local
643 list_for_each_entry(fctx, fcs, list) in dup_userfaultfd()
644 if (fctx->orig == octx) { in dup_userfaultfd()
645 ctx = fctx->new; in dup_userfaultfd()
650 fctx = kmalloc(sizeof(*fctx), GFP_KERNEL); in dup_userfaultfd()
651 if (!fctx) in dup_userfaultfd()
656 kfree(fctx); in dup_userfaultfd()
671 fctx->orig = octx; in dup_userfaultfd()
672 fctx->new = ctx; in dup_userfaultfd()
673 list_add_tail(&fctx->list, fcs); in dup_userfaultfd()
680 static void dup_fctx(struct userfaultfd_fork_ctx *fctx) in dup_fctx() argument
682 struct userfaultfd_ctx *ctx = fctx->orig; in dup_fctx()
688 ewq.msg.arg.reserved.reserved1 = (unsigned long)fctx->new; in dup_fctx()
695 struct userfaultfd_fork_ctx *fctx, *n; in dup_userfaultfd_complete() local
697 list_for_each_entry_safe(fctx, n, fcs, list) { in dup_userfaultfd_complete()
698 dup_fctx(fctx); in dup_userfaultfd_complete()
699 list_del(&fctx->list); in dup_userfaultfd_complete()
700 kfree(fctx); in dup_userfaultfd_complete()