Re: [PATCH v7 3/4] iommufd: Add IOMMU_GET_HW_INFO

From: Nicolin Chen
Date: Tue Aug 15 2023 - 13:32:25 EST


On Tue, Aug 15, 2023 at 01:32:01PM -0300, Jason Gunthorpe wrote:
> 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?

I did a quick test passing !data_len and !data_ptr. And it works
by returning the type only.

Yet, in that case, should we mention this in the uAPI kdoc? It
feels to me that the uAPI always expects user space to read out
a length of data.

Thanks
Nic