Re: [PATCH v4 4/4] iommufd/selftest: Add coverage for IOMMU_GET_HW_INFO ioctl

From: Nicolin Chen
Date: Thu Jul 27 2023 - 04:59:31 EST


Hi Kevin,

On Thu, Jul 27, 2023 at 08:14:45AM +0000, Tian, Kevin wrote:

> > From: Liu, Yi L <yi.l.liu@xxxxxxxxx>
> > Sent: Monday, July 24, 2023 7:00 PM
> >
> > --- a/drivers/iommu/iommufd/device.c
> > +++ b/drivers/iommu/iommufd/device.c
> > @@ -8,6 +8,7 @@
> >
> > #include "io_pagetable.h"
> > #include "iommufd_private.h"
> > +#include "iommufd_test.h"
>
> Is it stale?

Ah, should've dropped it.

> > @@ -211,7 +213,7 @@ FIXTURE_SETUP(iommufd_ioas)
> >
> > for (i = 0; i != variant->mock_domains; i++) {
> > test_cmd_mock_domain(self->ioas_id, &self->stdev_id,
> > - &self->hwpt_id, NULL);
> > + &self->hwpt_id, &self->device_id);
> > self->base_iova = MOCK_APERTURE_START;
> > }
> > }
> > @@ -290,6 +292,19 @@ TEST_F(iommufd_ioas, ioas_area_auto_destroy)
> > }
> > }
> >
> > +TEST_F(iommufd_ioas, get_hw_info)
> > +{
> > + struct iommu_test_hw_info info;
> > +
> > + if (self->device_id) {
> > + test_cmd_get_hw_info(self->device_id, sizeof(info), &info);
> > + assert(info.test_reg ==
> > IOMMU_HW_INFO_SELFTEST_REGVAL);
> > + } else {
> > + test_err_get_hw_info(ENOENT, self->device_id,
> > + sizeof(info), &info);
> > + }
>
> If self->device_id is invalid it should be reported right after
> test_cmd_mock_domain()?

A device_id is created per mock_domain. And mock_domain is a
variant that could be 0, so a device_id being 0 could be a
normal case. Here the invalid test is for negative coverage.

Thanks!
Nic