Lines Matching refs:irqfd
925 static int privcmd_irqfd_assign(struct privcmd_irqfd *irqfd)
933 kirqfd = kzalloc(sizeof(*kirqfd) + irqfd->size, GFP_KERNEL);
938 if (copy_from_user(dm_op, u64_to_user_ptr(irqfd->dm_op), irqfd->size)) {
943 kirqfd->xbufs.size = irqfd->size;
945 kirqfd->dom = irqfd->dom;
948 f = fdget(irqfd->fd);
1006 static int privcmd_irqfd_deassign(struct privcmd_irqfd *irqfd)
1011 eventfd = eventfd_ctx_fdget(irqfd->fd);
1041 struct privcmd_irqfd irqfd;
1043 if (copy_from_user(&irqfd, udata, sizeof(irqfd)))
1047 if (irqfd.flags & ~PRIVCMD_IRQFD_FLAG_DEASSIGN)
1051 if (data->domid != DOMID_INVALID && data->domid != irqfd.dom)
1054 if (irqfd.flags & PRIVCMD_IRQFD_FLAG_DEASSIGN)
1055 return privcmd_irqfd_deassign(&irqfd);
1057 return privcmd_irqfd_assign(&irqfd);
1062 irqfd_cleanup_wq = alloc_workqueue("privcmd-irqfd-cleanup", 0, 0);
1266 pr_err("irqfd init failed\n");