Set environment variable `KVM` makes build fail

From: Paul Menzel
Date: Sun Feb 13 2022 - 01:03:20 EST


Dear Linux folks,


Playing with rcutorture (`tools/testing/selftests/rcutorture/bin/torture.sh`), a Linux kernel build failed, because the script sets and exports the environment variable `KVM`. I was able to reproduce that manually (on x86_64):

$ make defconfig
$ scripts/config -m KVM
$ scripts/config -m KVM_INTEL
$ scripts/config -d KVM_AMD
$ scripts/config -d KVM_XEN
$ scripts/config -d KVM_MMU_AUDIT
$ export KVM=XXX
$ make arch/x86/kvm/kvm.o
[…]
LINK /dev/shm/linux-kvm/tools/objtool/objtool
make[2]: *** No rule to make target 'arch/x86/kvm/XXX/kvm_main.o', needed by 'arch/x86/kvm/kvm.o'. Stop.
make[1]: *** [scripts/Makefile.build:550: arch/x86/kvm] Error 2
make: *** [Makefile:1831: arch/x86] Error 2

The directory `arch/x86/kvm/XXX` is created somehow.

Is that expected? Do you know what is going on? I wasn’t able to reproduce this with other variables like `SND_HDA` for example.


Kind regards,

Paul