On Mon, Dec 19, 2022, Like Xu wrote: > From: Like Xu <likexu@xxxxxxxxxxx> > > On many automated test boxes, selftests in a completely clean src tree > will be compiled independently: "make -j -C tools/testing/selftests/kvm". > Sometimes the compilation will fail and produce a false positive just > due to missing kernel headers (or others hidden behind the complete > kernel compilation or installation). > > Optimize this situation by explicitly adding the installation of sanitised > kernel headers before compilation to the Makefile. > > Reported-by: Sean Christopherson <seanjc@xxxxxxxxxx> > Signed-off-by: Like Xu <likexu@xxxxxxxxxxx> > --- > tools/testing/selftests/kvm/Makefile | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/tools/testing/selftests/kvm/Makefile b/tools/testing/selftests/kvm/Makefile > index 947676983da1..a33e2f72d745 100644 > --- a/tools/testing/selftests/kvm/Makefile > +++ b/tools/testing/selftests/kvm/Makefile > @@ -202,6 +202,11 @@ TEST_GEN_PROGS_EXTENDED += $(TEST_GEN_PROGS_EXTENDED_$(UNAME_M)) > LIBKVM += $(LIBKVM_$(UNAME_M)) > > INSTALL_HDR_PATH = $(top_srcdir)/usr > + > +ifeq ($(shell make -j -C ../../../.. headers_install),) > + $(error "Please install sanitised kernel headers manually.") > +endif Auto-installation of headers was recently removed[*], presumably whatever problem existed with KSFT_KHDR_INSTALL also exists with this approach. FWIW, I also find the need to manually do headers_install annoying, but it's easy to workaround via bash aliases. [*] https://lore.kernel.org/lkml/cover.1657296695.git.guillaume.tucker@xxxxxxxxxxxxx