NACK/Cmnt: [SRU JAMMY] [PATCH] UBUNTU: SAUCE: scripts/pahole-flags.sh: Add --skip_encoding_btf_enum64 for pahole versions >= 124
Stefan Bader
stefan.bader at canonical.com
Mon Jan 29 10:30:07 UTC 2024
On 29.01.24 11:24, Stefan Bader wrote:
> On 29.01.24 11:19, Stefan Bader wrote:
>> On 26.01.24 19:54, mitchell.augustin at canonical.com wrote:
>>> From: Mitchell Augustin <mitchell.augustin at canonical.com>
>>>
>>> BugLink: https://bugs.launchpad.net/bugs/2051376
>>>
>>> UpstreamStatus: Merged with 5.15.148
>>>
>>> This patch will not go upstream since 6.7-rc1 converts this script
>>> into a makefile snippet, and since this patch is already present
>>> in upstream 5.15.148 and the master branch for Noble.
>>>
>>> New pahole (version 1.24) generates by default new BTF_KIND_ENUM64
>>> BTF tag,
>>> which is not supported by stable kernel.
>>>
>>> As a result the kernel with CONFIG_DEBUG_INFO_BTF option will fail to
>>> compile with following error:
>>>
>>> BTFIDS vmlinux
>>> FAILED: load BTF from vmlinux: Invalid argument
>>>
>>> New pahole provides --skip_encoding_btf_enum64 option to skip
>>> BTF_KIND_ENUM64
>>> generation and produce BTF supported by stable kernel.
>>>
>>> (cherry picked from commit b775fbf532dc01ae53a6fc56168fd30cb4b0c658
>>> in 5.15.148 tree)
>>>
>>> Signed-off-by: Mitchell Augustin <mitchell.augustin at canonical.com>
>>> ---
>>
>> Rejected for the following reasons:
>> Ok, so this patch is taken from the upstream stable repository. In
>> which case the proper provenance (including commit message) needs to
>> be preserved. That is if there is a need for speed. Eventually all
>> linux-5.15.y will be picked into Jammy, we just lag a bit behind
>> (currently we have 5.15.143 committed).
>> So what the patch should look like is:
>>
>> From b775fbf532dc01ae53a6fc56168fd30cb4b0c658 Mon Sep 17 00:00:00 2001
>> From: Martin Rodriguez Reboredo <yakoyoku at gmail.com>
>> Date: Sun, 4 Sep 2022 15:19:01 +0200
>> Subject: [PATCH] kbuild: Add skip_encoding_btf_enum64 option to pahole
Oh and I forgot to properly change the subject here:
Subject: [SRU Jammy][PATCH] kbuild: Add skip_encoding_btf_enum64 option
to pahole
The "UBUNTU: SAUCE" was incorrect advice believing it is not cherry
picked from a upstream source. Since it is 5.15.248 it is not required.
Just that upstream means Linus primary tree and upstream stable is a
different repository. So SHA1 references do not match. And in this case
this was a change _only_ for linux-5.15.y.
>>
>> BugLink: https://bugs.launchpad.net/bugs/2051376
>>
>> New pahole (version 1.24) generates by default new BTF_KIND_ENUM64 BTF
>> tag,
>> which is not supported by stable kernel.
>>
>> As a result the kernel with CONFIG_DEBUG_INFO_BTF option will fail to
>> compile with following error:
>>
>> BTFIDS vmlinux
>> FAILED: load BTF from vmlinux: Invalid argument
>>
>> New pahole provides --skip_encoding_btf_enum64 option to skip
>> BTF_KIND_ENUM64
>> generation and produce BTF supported by stable kernel.
>>
>> Adding this option to scripts/pahole-flags.sh.
>>
>> This change does not have equivalent commit in linus tree, because
>> linus tree
>> has support for BTF_KIND_ENUM64 tag, so it does not need to be disabled.
>
> I think this ^ in the upstream stable commit message answered the
> question I asked below. So it is the kernel build environment that
> matters. And only the old kernel version requires adjustment when being
> compiled with a pahole version 1.24 or later.
>
>>
>> Signed-off-by: Martin Rodriguez Reboredo <yakoyoku at gmail.com>
>> Signed-off-by: Jiri Olsa <jolsa at kernel.org>
>> Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
>>
>> (cherry picked from commit b775fbf532dc01ae53a6fc56168fd30cb4b0c658
>> linux-5.15.y)
>> Signed-off-by: Mitchell Augustin <mitchell.augustin at canonical.com>
>> ---
>> scripts/pahole-flags.sh | 4 ++++
>> 1 file changed, 4 insertions(+)
>>
>> ...
>>
>> The second question I had in previous replies was whether we also need
>> to do something for HWE kernels. Jammy (5.15) fails to compile when
>> pahole >= 1.24 is available. This must be a configuration other than
>> what we use by default for the distro, otherwise we should have seen
>> this. But we also have HWE kernels (now 6.5, at some point 6.8). I
>> currently do not see something adjusted in the 6.5 kernel. That might
>> mean in Mantic there is a pahole version which does not have the
>> problem. Or it is the kernel Makefiles which got adjusted, so this is
>> no longer necessary.
>>
>> -Stefan
>>> scripts/pahole-flags.sh | 6 +++++-
>>> 1 file changed, 5 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/scripts/pahole-flags.sh b/scripts/pahole-flags.sh
>>> index ac8b23787427..d38fa6d84d62 100755
>>> --- a/scripts/pahole-flags.sh
>>> +++ b/scripts/pahole-flags.sh
>>> @@ -4,7 +4,7 @@
>>> extra_paholeopt=
>>> if ! [ -x "$(command -v ${PAHOLE})" ]; then
>>> - return
>>> + exit 0
>>> fi
>>> pahole_ver=$($(dirname $0)/pahole-version.sh ${PAHOLE})
>>> @@ -17,4 +17,8 @@ if [ "${pahole_ver}" -ge "121" ]; then
>>> extra_paholeopt="${extra_paholeopt} --btf_gen_floats"
>>> fi
>>> +if [ "${pahole_ver}" -ge "124" ]; then
>>> + extra_paholeopt="${extra_paholeopt} --skip_encoding_btf_enum64"
>>> +fi
>>> +
>>> echo ${extra_paholeopt}
>>
>>
>
>
--
- Stefan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_0xE8675DEECBEECEA3.asc
Type: application/pgp-keys
Size: 48643 bytes
Desc: OpenPGP public key
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20240129/38d8c0c8/attachment-0001.key>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20240129/38d8c0c8/attachment-0001.sig>
More information about the kernel-team
mailing list