[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <9648c5e4-8f98-40f8-ae48-caa0387e0bda@illinois.edu>
Date: Thu, 30 Jan 2025 20:00:04 -0600
From: Jinghao Jia <jinghao7@...inois.edu>
To: Andrii Nakryiko <andrii.nakryiko@...il.com>
Cc: Benjamin Tissoires <bentiss@...nel.org>,
Alexei Starovoitov <ast@...nel.org>,
Daniel Borkmann <daniel@...earbox.net>,
Andrii Nakryiko <andrii@...nel.org>,
Martin KaFai Lau
<martin.lau@...ux.dev>,
Eduard Zingerman <eddyz87@...il.com>, Song Liu <song@...nel.org>,
Yonghong Song <yonghong.song@...ux.dev>,
John Fastabend <john.fastabend@...il.com>,
KP Singh <kpsingh@...nel.org>, Stanislav Fomichev <sdf@...ichev.me>,
Hao Luo <haoluo@...gle.com>, Jiri Olsa <jolsa@...nel.org>,
Jiri Kosina <jikos@...nel.org>, Masahiro Yamada <masahiroy@...nel.org>,
Nicolas Schier <n.schier@....de>, Ruowen Qin <ruqin@...hat.com>,
bpf@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-input@...r.kernel.org
Subject: Re: [PATCH bpf v2 2/2] samples/{bpf,hid}: fix broken vmlinux path for
VMLINUX_BTF
On 1/29/25 6:51 PM, Andrii Nakryiko wrote:
> On Wed, Jan 29, 2025 at 2:06 AM Jinghao Jia <jinghao7@...inois.edu> wrote:
>>
>>
>>
>> On 1/24/25 2:04 PM, Benjamin Tissoires wrote:
>>> On Jan 24 2025, Andrii Nakryiko wrote:
>>>> On Thu, Jan 23, 2025 at 12:20 AM Jinghao Jia <jinghao7@...inois.edu> wrote:
>>>>>
>>>>> Commit 13b25489b6f8 ("kbuild: change working directory to external
>>>>> module directory with M=") changed kbuild working directory of bpf and
>>>>> hid samples to samples/{bpf,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:316: *** Cannot find a vmlinux for VMLINUX_BTF at any of " /path/to/linux/samples/bpf/vmlinux", build the kernel or set VMLINUX_BTF like "VMLINUX_BTF=/sys/kernel/btf/vmlinux" 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@...hat.com>
>>>>> Signed-off-by: Jinghao Jia <jinghao7@...inois.edu>
>>>>> ---
>>>>> samples/bpf/Makefile | 2 +-
>>>>> samples/hid/Makefile | 2 +-
>>>>> 2 files changed, 2 insertions(+), 2 deletions(-)
>>>>>
>>>>
>>>> can you please split samples/bpf from samples/hid changes, so we can
>>>> land samples/bpf fix through bpf-next tree independently from other
>>>> changes?
>>>
>>> FWIW, I don't mind if this goes through the bpf-next tree all at once.
>>>
>>> Acked-by: Benjamin Tissoires <bentiss@...nel.org>
>>>
>>> Cheers,
>>> Benjamin
>>>
>>
>> I wonder how we are going to move forward with this fix? Do we want to let
>> it go through bpf tree at once or split the changes?
>
> I'd prefer the split and routing through respective trees. Is there
> any reason not to do that?
Sure, I will roll out a v3 then.
Best,
Jinghao
>
>>
>> Best,
>> Jinghao
>>
>>>>
>>>> pw-bot: cr
>>>>
>>>>> diff --git a/samples/bpf/Makefile b/samples/bpf/Makefile
>>>>> index 96a05e70ace3..f5865fbbae62 100644
>>>>> --- a/samples/bpf/Makefile
>>>>> +++ b/samples/bpf/Makefile
>>>>> @@ -307,7 +307,7 @@ $(obj)/$(TRACE_HELPERS): TPROGS_CFLAGS := $(TPROGS_CFLAGS) -D__must_check=
>>>>>
>>>>> 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)
>>>>> diff --git a/samples/hid/Makefile b/samples/hid/Makefile
>>>>> index 69159c81d045..db5a077c77fc 100644
>>>>> --- a/samples/hid/Makefile
>>>>> +++ b/samples/hid/Makefile
>>>>> @@ -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)
>>>>> --
>>>>> 2.48.1
>>>>>
>>
Powered by blists - more mailing lists