linux/tools
Nicolin Chen 9a96876e3c iommufd/selftest: Fix build warnings due to uninitialized mfd
Commit 869c788909 ("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+ReF3v3Rlf@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().

Link: https://patch.msgid.link/r/6951d85d5cd34cbf22abab7714542654e63ecc44.1750787928.git.nicolinc@nvidia.com
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
2025-06-24 15:45:13 -03:00
..
accounting
arch tools headers x86 cpufeatures: Sync with the kernel sources 2025-06-17 18:29:42 -03:00
bootconfig tools/bootconfig: specify LDFLAGS as an argument to CC 2025-05-16 11:22:54 +09:00
bpf tools/resolve_btfids: Fix build when cross compiling kernel with clang. 2025-06-10 09:09:27 -07:00
build
certs
cgroup
counter
crypto
debugging
firewire
firmware
gpio
hv tools: hv: Enable debug logs for hv_kvp_daemon 2025-05-23 16:30:55 +00:00
iio
include tools headers: Synchronize linux/bits.h with the kernel sources 2025-06-17 16:55:24 -03:00
kvm/kvm_stat
laptop
leds
lib libbpf: Handle unsupported mmap-based /sys/kernel/btf/vmlinux correctly 2025-06-06 14:07:07 -07:00
memory-model
mm
net tools: ynl: fix mixing ops and notifications on one socket 2025-06-19 08:37:39 -07:00
objtool Rust changes for v6.16 2025-06-04 21:18:37 -07:00
pcmcia
perf perf bench futex: Fix prctl include in musl libc 2025-06-17 18:29:42 -03:00
power cpupower: split unitdir from libdir in Makefile 2025-06-09 10:17:46 -06:00
rcu
sched_ext
scripts
sound
spi
testing iommufd/selftest: Fix build warnings due to uninitialized mfd 2025-06-24 15:45:13 -03:00
thermal
time
tracing tracing tools updates for v6.16: 2025-05-29 20:59:52 -07:00
usb
verification
virtio
wmi
workqueue
writeback
Makefile