Lines Matching defs:ucmd
226 static int iommufd_destroy(struct iommufd_ucmd *ucmd)
228 struct iommu_destroy *cmd = ucmd->cmd;
230 return iommufd_object_remove(ucmd->ictx, NULL, cmd->id, 0);
294 static int iommufd_option(struct iommufd_ucmd *ucmd)
296 struct iommu_option *cmd = ucmd->cmd;
304 rc = iommufd_option_rlimit_mode(cmd, ucmd->ictx);
307 rc = iommufd_ioas_option(ucmd);
314 if (copy_to_user(&((struct iommu_option __user *)ucmd->ubuffer)->val64,
344 int (*execute)(struct iommufd_ucmd *ucmd);
394 struct iommufd_ucmd ucmd = {};
404 ucmd.ictx = ictx;
405 ucmd.ubuffer = (void __user *)arg;
406 ret = get_user(ucmd.user_size, (u32 __user *)ucmd.ubuffer);
413 if (ucmd.user_size < op->min_size)
416 ucmd.cmd = &buf;
417 ret = copy_struct_from_user(ucmd.cmd, op->size, ucmd.ubuffer,
418 ucmd.user_size);
421 ret = op->execute(&ucmd);