On Fri, Aug 11, 2023 at 12:15:00AM -0700, Yi Liu wrote: > +static int iommufd_get_hw_info(struct iommufd_ucmd *ucmd) > +{ > + struct iommu_hw_info *cmd = ucmd->cmd; > + unsigned int length = cmd->data_len; > + struct iommufd_device *idev; > + void __user *user_ptr; > + u32 hw_info_type; > + int rc = 0; > + > + if (cmd->flags || cmd->__reserved || !cmd->data_len) > + return -EOPNOTSUPP; Is there a reason to block 0 data_len? I think this should work. The code looks OK? Jason