tools/testing/selftests/iommu/iommufd_utils.h | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)
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
Signed-off-by: Alessandro Zanni <alessandro.zanni87@gmail.com>
---
tools/testing/selftests/iommu/iommufd_utils.h | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/tools/testing/selftests/iommu/iommufd_utils.h b/tools/testing/selftests/iommu/iommufd_utils.h
index 3c3e08b8c90e..772ca1db6e59 100644
--- a/tools/testing/selftests/iommu/iommufd_utils.h
+++ b/tools/testing/selftests/iommu/iommufd_utils.h
@@ -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) \
--
2.43.0
On Wed, Sep 24, 2025 at 07:16:28PM +0200, Alessandro Zanni wrote: > 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); > | ^~~~~~~~~~~~~~~~~~~~~~~~ Shouldn't word wrap output like this, ignore the checkpatch warnings. > The issue can be reproduced, building the tests, with the command: > make -C tools/testing/selftests TARGETS=iommu Fixes: 97717a1f283f ("iommufd/selftest: Add IOMMU_VEVENTQ_ALLOC test coverage") Applied, thanks Jason
© 2016 - 2025 Red Hat, Inc.