[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aSnE3Q4kDAjIrC9Y@fedora>
Date: Fri, 28 Nov 2025 21:20:53 +0530
From: Ankit Khushwaha <ankitkhushwaha.linux@...il.com>
To: Sean Christopherson <seanjc@...gle.com>
Cc: Paolo Bonzini <pbonzini@...hat.com>, Shuah Khan <shuah@...nel.org>,
kvm@...r.kernel.org, linux-kselftest@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-kernel-mentees@...r.kernel.org
Subject: Re: [PATCH] KVM: selftests: Include missing uapi header for *_VECTOR
definitions
On Mon, Nov 17, 2025 at 07:06:57AM -0800, Sean Christopherson wrote:
> That means your build is picking up stale kernel headers (likely the ones installed
> system-wide). The "#include <asm/kvm.h>" in kvm_util.h is what pulls in the kernel
> uAPI headers.
>
> Selftests uapi headers are a bit of a mess. In the past, selftests would
> automatically do "make headers_install" as part of the build, but commit
> 3bb267a36185 ("selftests: drop khdr make target") yanked that out because there
> are scenarios where it broke the build.
>
> So the "right" way to build selftest is to first do "make headers_install", and
> then build selftests.
>
> Note, if you build KVM selftests directly, tools/testing/selftests/lib.mk will
> define the includes to be relative to the source directory, i.e. expects the
> headers to be installed in the source.
>
> ifeq ($(KHDR_INCLUDES),)
> KHDR_INCLUDES := -isystem $(top_srcdir)/usr/include
> endif
>
> You can explicitly set KHDR_INCLUDES when building if you install headers somewhere
> else. E.g. my build invocation looks something like this, where "$output" is an
> out-of-tree directory.
>
> KHDR_INCLUDES="-isystem $output/usr/include" EXTRA_CFLAGS="-static -Werror -gdwarf-4" make \
> INSTALL_HDR_PATH="$output/usr" OUTPUT=$output
Hi Sean,
Thanks for pointing it out, i am not aware of these details.
Will take care of this now onwards
Thank you
-- Ankit
Powered by blists - more mailing lists