Lines Matching refs:fctx
643 struct userfaultfd_fork_ctx *fctx; in dup_userfaultfd() local
652 list_for_each_entry(fctx, fcs, list) in dup_userfaultfd()
653 if (fctx->orig == octx) { in dup_userfaultfd()
654 ctx = fctx->new; in dup_userfaultfd()
659 fctx = kmalloc(sizeof(*fctx), GFP_KERNEL); in dup_userfaultfd()
660 if (!fctx) in dup_userfaultfd()
665 kfree(fctx); in dup_userfaultfd()
679 fctx->orig = octx; in dup_userfaultfd()
680 fctx->new = ctx; in dup_userfaultfd()
681 list_add_tail(&fctx->list, fcs); in dup_userfaultfd()
688 static void dup_fctx(struct userfaultfd_fork_ctx *fctx) in dup_fctx() argument
690 struct userfaultfd_ctx *ctx = fctx->orig; in dup_fctx()
696 ewq.msg.arg.reserved.reserved1 = (unsigned long)fctx->new; in dup_fctx()
703 struct userfaultfd_fork_ctx *fctx, *n; in dup_userfaultfd_complete() local
705 list_for_each_entry_safe(fctx, n, fcs, list) { in dup_userfaultfd_complete()
706 dup_fctx(fctx); in dup_userfaultfd_complete()
707 list_del(&fctx->list); in dup_userfaultfd_complete()
708 kfree(fctx); in dup_userfaultfd_complete()