Lines Matching refs:ucmd
207 static int iommufd_destroy(struct iommufd_ucmd *ucmd)
209 struct iommu_destroy *cmd = ucmd->cmd;
212 obj = iommufd_object_remove(ucmd->ictx, cmd->id, false);
280 static int iommufd_option(struct iommufd_ucmd *ucmd)
282 struct iommu_option *cmd = ucmd->cmd;
290 rc = iommufd_option_rlimit_mode(cmd, ucmd->ictx);
293 rc = iommufd_ioas_option(ucmd);
300 if (copy_to_user(&((struct iommu_option __user *)ucmd->ubuffer)->val64,
327 int (*execute)(struct iommufd_ucmd *ucmd);
371 struct iommufd_ucmd ucmd = {};
381 ucmd.ictx = ictx;
382 ucmd.ubuffer = (void __user *)arg;
383 ret = get_user(ucmd.user_size, (u32 __user *)ucmd.ubuffer);
390 if (ucmd.user_size < op->min_size)
393 ucmd.cmd = &buf;
394 ret = copy_struct_from_user(ucmd.cmd, op->size, ucmd.ubuffer,
395 ucmd.user_size);
398 ret = op->execute(&ucmd);