]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
iommu/selftest: prevent use of uninitialized variable
authorAlessandro Zanni <alessandro.zanni87@gmail.com>
Wed, 24 Sep 2025 17:16:28 +0000 (19:16 +0200)
committerJason Gunthorpe <jgg@nvidia.com>
Fri, 26 Sep 2025 13:00:27 +0000 (10:00 -0300)
Fix to avoid the usage of the `res` variable uninitialized in the
following macro expansions.

It solves the following warning:
In function ‘iommufd_viommu_vdevice_alloc’,
  inlined from ‘wrapper_iommufd_viommu_vdevice_alloc’ at iommufd.c:2889:1:
../kselftest_harness.h:760:12: warning: ‘ret’ may be used uninitialized [-Wmaybe-uninitialized]
  760 |   if (!(__exp _t __seen)) { \
      |      ^
../kselftest_harness.h:513:9: note: in expansion of macro ‘__EXPECT’
  513 |   __EXPECT(expected, #expected, seen, #seen, ==, 1)
      |   ^~~~~~~~
iommufd_utils.h:1057:9: note: in expansion of macro ‘ASSERT_EQ’
 1057 |   ASSERT_EQ(0, _test_cmd_trigger_vevents(self->fd, dev_id, nvevents))
      |   ^~~~~~~~~
iommufd.c:2924:17: note: in expansion of macro ‘test_cmd_trigger_vevents’
 2924 |   test_cmd_trigger_vevents(dev_id, 3);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~

The issue can be reproduced, building the tests, with the command: make -C
tools/testing/selftests TARGETS=iommu

Link: https://patch.msgid.link/r/20250924171629.50266-1-alessandro.zanni87@gmail.com
Fixes: 97717a1f283f ("iommufd/selftest: Add IOMMU_VEVENTQ_ALLOC test coverage")
Signed-off-by: Alessandro Zanni <alessandro.zanni87@gmail.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
tools/testing/selftests/iommu/iommufd_utils.h

index 3c3e08b8c90eb349cae61c8b3675cdaac6b1cd94..772ca1db6e5971227c210050b7da57ef3af969b6 100644 (file)
@@ -1042,15 +1042,13 @@ static int _test_cmd_trigger_vevents(int fd, __u32 dev_id, __u32 nvevents)
                        .dev_id = dev_id,
                },
        };
-       int ret;
 
        while (nvevents--) {
-               ret = ioctl(fd, _IOMMU_TEST_CMD(IOMMU_TEST_OP_TRIGGER_VEVENT),
-                           &trigger_vevent_cmd);
-               if (ret < 0)
+               if (!ioctl(fd, _IOMMU_TEST_CMD(IOMMU_TEST_OP_TRIGGER_VEVENT),
+                           &trigger_vevent_cmd))
                        return -1;
        }
-       return ret;
+       return 0;
 }
 
 #define test_cmd_trigger_vevents(dev_id, nvevents) \