samples/hid: fix broken vmlinux path for VMLINUX_BTF

JIRA: https://issues.redhat.com/browse/RHEL-101770
Upstream Status: since v6.14
Tested: with the hid-tools test suite and some hardware

commit 8b125949df58a00e8797c6e6d3f3d3dc08f4d939
Author: Jinghao Jia <jinghao7@illinois.edu>
Date:   Mon Feb 3 02:55:06 2025 -0600

    samples/hid: fix broken vmlinux path for VMLINUX_BTF

    Commit 13b25489b6f8 ("kbuild: change working directory to external
    module directory with M=") changed kbuild working directory of hid-bpf
    sample programs to samples/hid, which broke the vmlinux path for
    VMLINUX_BTF, as the Makefiles assume the current work directory to be
    the kernel output directory and use a relative path (i.e., ./vmlinux):

      Makefile:173: *** Cannot find a vmlinux for VMLINUX_BTF at any of "  /path/to/linux/samples/hid/vmlinux", build the kernel or set VMLINUX_BTF or VMLINUX_H variable.  Stop.

    Correctly refer to the kernel output directory using $(objtree).

    Fixes: 13b25489b6f8 ("kbuild: change working directory to external module directory with M=")
    Tested-by: Ruowen Qin <ruqin@redhat.com>
    Suggested-by: Daniel Borkmann <daniel@iogearbox.net>
    Suggested-by: Andrii Nakryiko <andrii@kernel.org>
    Signed-off-by: Jinghao Jia <jinghao7@illinois.edu>
    Link: https://patch.msgid.link/20250203085506.220297-4-jinghao7@illinois.edu
    Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
This commit is contained in:
Benjamin Tissoires 2025-08-12 17:09:43 +02:00
parent ca662b0214
commit 8b2124d415
1 changed files with 1 additions and 1 deletions

View File

@ -164,7 +164,7 @@ $(obj)/hid_surface_dial.o: $(obj)/hid_surface_dial.skel.h
VMLINUX_BTF_PATHS ?= $(abspath $(if $(O),$(O)/vmlinux)) \
$(abspath $(if $(KBUILD_OUTPUT),$(KBUILD_OUTPUT)/vmlinux)) \
$(abspath ./vmlinux)
$(abspath $(objtree)/vmlinux)
VMLINUX_BTF ?= $(abspath $(firstword $(wildcard $(VMLINUX_BTF_PATHS))))
$(obj)/vmlinux.h: $(VMLINUX_BTF) $(BPFTOOL)