Lines Matching refs:irqfd
925 static int privcmd_irqfd_assign(struct privcmd_irqfd *irqfd) in privcmd_irqfd_assign() argument
933 kirqfd = kzalloc(sizeof(*kirqfd) + irqfd->size, GFP_KERNEL); in privcmd_irqfd_assign()
938 if (copy_from_user(dm_op, irqfd->dm_op, irqfd->size)) { in privcmd_irqfd_assign()
943 kirqfd->xbufs.size = irqfd->size; in privcmd_irqfd_assign()
945 kirqfd->dom = irqfd->dom; in privcmd_irqfd_assign()
948 f = fdget(irqfd->fd); in privcmd_irqfd_assign()
1006 static int privcmd_irqfd_deassign(struct privcmd_irqfd *irqfd) in privcmd_irqfd_deassign() argument
1011 eventfd = eventfd_ctx_fdget(irqfd->fd); in privcmd_irqfd_deassign()
1041 struct privcmd_irqfd irqfd; in privcmd_ioctl_irqfd() local
1043 if (copy_from_user(&irqfd, udata, sizeof(irqfd))) in privcmd_ioctl_irqfd()
1047 if (irqfd.flags & ~PRIVCMD_IRQFD_FLAG_DEASSIGN) in privcmd_ioctl_irqfd()
1051 if (data->domid != DOMID_INVALID && data->domid != irqfd.dom) in privcmd_ioctl_irqfd()
1054 if (irqfd.flags & PRIVCMD_IRQFD_FLAG_DEASSIGN) in privcmd_ioctl_irqfd()
1055 return privcmd_irqfd_deassign(&irqfd); in privcmd_ioctl_irqfd()
1057 return privcmd_irqfd_assign(&irqfd); in privcmd_ioctl_irqfd()