Lines Matching refs:irqfd
932 static int privcmd_irqfd_assign(struct privcmd_irqfd *irqfd) in privcmd_irqfd_assign() argument
941 kirqfd = kzalloc(sizeof(*kirqfd) + irqfd->size, GFP_KERNEL); in privcmd_irqfd_assign()
946 if (copy_from_user(dm_op, u64_to_user_ptr(irqfd->dm_op), irqfd->size)) { in privcmd_irqfd_assign()
951 kirqfd->xbufs.size = irqfd->size; in privcmd_irqfd_assign()
953 kirqfd->dom = irqfd->dom; in privcmd_irqfd_assign()
956 f = fdget(irqfd->fd); in privcmd_irqfd_assign()
1017 static int privcmd_irqfd_deassign(struct privcmd_irqfd *irqfd) in privcmd_irqfd_deassign() argument
1023 eventfd = eventfd_ctx_fdget(irqfd->fd); in privcmd_irqfd_deassign()
1053 struct privcmd_irqfd irqfd; in privcmd_ioctl_irqfd() local
1055 if (copy_from_user(&irqfd, udata, sizeof(irqfd))) in privcmd_ioctl_irqfd()
1059 if (irqfd.flags & ~PRIVCMD_IRQFD_FLAG_DEASSIGN) in privcmd_ioctl_irqfd()
1063 if (data->domid != DOMID_INVALID && data->domid != irqfd.dom) in privcmd_ioctl_irqfd()
1066 if (irqfd.flags & PRIVCMD_IRQFD_FLAG_DEASSIGN) in privcmd_ioctl_irqfd()
1067 return privcmd_irqfd_deassign(&irqfd); in privcmd_ioctl_irqfd()
1069 return privcmd_irqfd_assign(&irqfd); in privcmd_ioctl_irqfd()