Re: [kvm-x86:selftests2] [KVM] a262fc49e0: kselftests.kvm.make.fail

David Matlack <[email protected]>
Newsgroups dev.linux.lists.oe-lkp,org.kernel.vger.kvm
Message-ID <[email protected]>
On 2026-08-07 10:21 PM, David Matlack wrote:
> On 2026-08-07 11:35 AM, Sean Christopherson wrote:
> > On Fri, Aug 07, 2026, kernel test robot wrote:
> > > 
> > > 
> > > Hello,
> > > 
> > > kernel test robot noticed "kselftests.kvm.make.fail" on:
> > > 
> > > commit: a262fc49e0aafdeeb1b4fd8cb0d79a0fde447757 ("KVM: selftests: Build and link selftests/vfio/lib into KVM selftests")
> > > https://github.com/kvm-x86/linux selftests2
> > > 
> > > [test failed on linux-next/master 78bc8af4affb9a732504eb22eeac7d1e50883853]
> > > 
> > > in testcase: kselftests
> > > version: kselftests-x86_64-848acc8ffe1b-1_20260804
> > > with following parameters:
> > > 
> > > 	group: kvm
> > > 
> > > 
> > > config: x86_64-rhel-9.4-kselftests
> > > compiler: gcc-14
> > > test machine: 224 threads 2 sockets Intel(R) Xeon(R) Platinum 8480CTDX (Sapphire Rapids) with 256G memory
> > > 
> > > (please refer to attached dmesg/kmsg for entire log/backtrace)
> > > 
> > > 
> > > If you fix the issue in a separate patch/commit (i.e. not just a new version of
> > > the same patch/commit), kindly add following tags
> > > | Reported-by: kernel test robot <[email protected]>
> > > | Closes: https://lore.kernel.org/oe-lkp/[email protected]
> > > 
> > > 
> > > /usr/src/perf_selftests-x86_64-rhel-9.4-kselftests-a262fc49e0aafdeeb1b4fd8cb0d79a0fde447757/tools/testing/selftests/vfio/lib/drivers/ioat/ioat.c:12:10: fatal error: hw.h: No such file or directory
> > >    12 | #include "hw.h"
> > >       |          ^~~~~~
> > > compilation terminated.
> > > make[1]: *** [../vfio/lib/libvfio.mk:32:
> > > /usr/src/perf_selftests-x86_64-rhel-9.4-kselftests-a262fc49e0aafdeeb1b4fd8cb0d79a0fde447757/tools/testing/selftests/kvm/libvfio/drivers/ioat/ioat.o]
> > > Error 1 make[1]: *** Waiting for unfinished jobs....
> > > /usr/src/perf_selftests-x86_64-rhel-9.4-kselftests-a262fc49e0aafdeeb1b4fd8cb0d79a0fde447757/tools/testing/selftests/vfio/lib/drivers/dsa/dsa.c:14:10:
> > > fatal error: registers.h: No such file or directory
> > >    14 | #include "registers.h"
> > >       |          ^~~~~~~~~~~~~
> > > compilation terminated.
> > > make[1]: *** [../vfio/lib/libvfio.mk:32:
> > > /usr/src/perf_selftests-x86_64-rhel-9.4-kselftests-a262fc49e0aafdeeb1b4fd8cb0d79a0fde447757/tools/testing/selftests/kvm/libvfio/drivers/dsa/dsa.o]
> > > Error 1 make[1]: Leaving directory
> > > '/usr/src/perf_selftests-x86_64-rhel-9.4-kselftests-a262fc49e0aafdeeb1b4fd8cb0d79a0fde447757/tools/testing/selftests/kvm'
> > > make: *** [Makefile:218: all] Error 2
> > 
> > Any chance the file is literally just not there?  Makefile.kvm's -I$(<D) expands
> > to:
> > 
> >  -I/usr/src/perf_selftests-x86_64-rhel-9.4-kselftests-a262fc49e0aafdeeb1b4fd8cb0d79a0fde447757/tools/testing/selftests/vfio/lib/drivers/dsa
> > 
> > which matches the directory of the input file:
> > 
> >  -c/usr/src/perf_selftests-x86_64-rhel-9.4-kselftests-a262fc49e0aafdeeb1b4fd8cb0d79a0fde447757/tools/testing/selftests/vfio/lib/drivers/dsa/dsa.c
> > 
> > so AFAICT the makefile is working as intended?
> 
> I think this is a problem in how the kernel test robot builds selftests.
> 
> hw.h and registers.h are symlinks to headers in the kernel source tree.
> The selftests build works fine for me when I check out the entire kernel
> tree at commit a262fc49e0aafdeeb1b4fd8cb0d79a0fde447757 and build the
> KVM selftests.
> 
> But if I delete one of the symlink destinations, I see the same error.
> 
> $ ls -l tools/testing/selftests/vfio/lib/drivers/dsa/registers.h
> [...] tools/testing/selftests/vfio/lib/drivers/dsa/registers.h -> ../../../../../../../drivers/dma/idxd/registers.h
> 
> $ rm drivers/dma/idxd/registers.h
> 
> $ make -C tools/testing/selftests/kvm -s
> /usr/local/google/home/dmatlack/kernel/trees/kvm/tools/testing/selftests/vfio/lib/drivers/dsa/dsa.c:14:10: fatal error: registers.h: No such file or directory
>    14 | #include "registers.h"
>       |          ^~~~~~~~~~~~~
> compilation terminated.
> make: *** [../vfio/lib/libvfio.mk:32: /usr/local/google/home/dmatlack/kernel/trees/kvm/tools/testing/selftests/kvm/libvfio/drivers/dsa/dsa.o] Error 1
> 
> Maybe the kernel test robot doesn't download the entire kernel tree when
> building selftests?

Yeah this seems to be the cause of the build failure. The lkp project
only grabs a subset of the kernel directories when packaging up the
kernel to build selftests, so it will not have access to the symlink
targets used by VFIO selftests:

  https://github.com/intel/lkp-tests/blob/bbbc29c495d9617f28dbc8b799cf0dac9a1ca54e/lib/tests/pkgbuild.sh#L484

I'll get the ball rolling on fixing this in lkp.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.