lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <rfwgp73zuyctbjgxvdgs67gq7g6glfxdd5peimqjiw5inw5h4g@cgmif7gyplct>
Date: Wed, 8 Oct 2025 15:24:29 +0200
From: Alessandro Zanni <alessandrozanni.dev@...il.com>
To: Shuah Khan <skhan@...uxfoundation.org>
Cc: Alessandro Zanni <alessandro.zanni87@...il.com>, jgg@...pe.ca, 
	kevin.tian@...el.com, shuah@...nel.org, iommu@...ts.linux.dev, 
	linux-kselftest@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] Fix to avoid the usage of the `res` variable
 uninitialized in the following macro expansions.

On Tue, Oct 07, 2025 at 03:28:29PM -0600, Shuah Khan wrote:
> On 9/24/25 10:57, Alessandro Zanni wrote:
> 
> Fix to avoid the usage of the `res` variable uninitialized in the following macro expansions.
> 
> ret not res?
> 
> You can simplify the shortlog "Fix ret unitialized warning" perhaps.
> 
> 
> > It solves the following warning:
> 
> Fix 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@...il.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;
> 
> Hmm. with this change -1 is returned instead of ret
> 
> > +	return 0;
> >   }
> >   #define test_cmd_trigger_vevents(dev_id, nvevents) \
> 
> thanks,
> -- Shuah
>

This patch has a malformed title. Please refer to the patch called
'[PATCH v2] selftests/iommu: prevent use of uninitialized variable'.
But the typo `res`->`ret` is still present. Sorry for that.

About the fix, the assert test just checks if the return value is 0 or
not. That's why the variable has been deleted.
By the way, if we prefer to return also the error values, the patch 
v1 just solves the warnings returning the negative values.

Let me know which version is preferable.
Thank you,
Alessandro





Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ