On Sun, Jun 15, 2025 at 10:02:06PM -0700, Nicolin Chen wrote: > Commit 869c788909b9 ("selftests: harness: Stop using setjmp()/longjmp()") > changed the harness structure. For some unknown reason, two build warnings > occur to the iommufd selftest: > > iommufd.c: In function ‘wrapper_iommufd_mock_domain_all_aligns’: > iommufd.c:1807:17: warning: ‘mfd’ may be used uninitialized in this function > 1807 | close(mfd); > | ^~~~~~~~~~ > iommufd.c:1767:13: note: ‘mfd’ was declared here > 1767 | int mfd; > | ^~~ > iommufd.c: In function ‘wrapper_iommufd_mock_domain_all_aligns_copy’: > iommufd.c:1870:17: warning: ‘mfd’ may be used uninitialized in this function > 1870 | close(mfd); > | ^~~~~~~~~~ > iommufd.c:1819:13: note: ‘mfd’ was declared here > 1819 | int mfd; > | ^~~ > > All the mfd have been used in the variant->file path only, so it's likely > a false alarm. > > FWIW, the commit mentioned above does not cause this, yet it might affect > gcc in a certain way that resulted in the warnings. It is also found that > ading a dummy setjmp (which doesn't make sense) could mute the warnings: > https://lore.kernel.org/all/aei8dv+ref3v3...@nvidia.com/ > > The job of this selftest is to catch kernel bug, while such warnings will > unlikely disrupt its role. Mute the warning by force initializing the mfd > and add an ASSERT_GT(). > > Signed-off-by: Nicolin Chen <nicol...@nvidia.com> > --- > tools/testing/selftests/iommu/iommufd.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-)
Reviewed-by: Jason Gunthorpe <j...@nvidia.com> Jason