Re: [REGRESSION] module BTF validation failure (Error -22) on

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jiri,

Thanks for the feedback!

On 12/6/24 13:35, Jiri Olsa wrote:
> On Fri, Nov 15, 2024 at 06:17:12PM +0100, Laura Nao wrote:
>> On 11/13/24 10:37, Laura Nao wrote:
>>>
>>> Currently, KernelCI only retains the bzImage, not the vmlinux
>>> binary. The
>>> bzImage can be downloaded from the same link mentioned above by
>>> selecting
>>> 'kernel' from the dropdown menu (modules can also be downloaded the
>>> same
>>> way). I’ll try to replicate the build on my end and share the
>>> vmlinux
>>> with DWARF data stripped for convenience.
>>>
>>
>> I managed to reproduce the issue locally and I've uploaded the
>> vmlinux[1]
>> (stripped of DWARF data) and vmlinux.raw[2] files, as well as one of
>> the
>> modules[3] and its btf data[4] extracted with:
>>
>> bpftool -B vmlinux btf dump file cros_kbd_led_backlight.ko >
>> cros_kbd_led_backlight.ko.raw
>>
>> Looking again at the logs[5], I've noticed the following is reported:
>>
>> [    0.415885] BPF: 	 type_id=115803 offset=177920 size=1152
>> [    0.416029] BPF:
>> [    0.416083] BPF: Invalid offset
>> [    0.416165] BPF:
>>
>> There are two different definitions of rcu_data in '.data..percpu',
>> one
>> is a struct and the other is an integer:
>>
>> type_id=115801 offset=177920 size=1152 (VAR 'rcu_data')
>> type_id=115803 offset=177920 size=1152 (VAR 'rcu_data')
>>
>> [115801] VAR 'rcu_data' type_id=115572, linkage=static
>> [115803] VAR 'rcu_data' type_id=1, linkage=static
>>
>> [115572] STRUCT 'rcu_data' size=1152 vlen=69
>> [1] INT 'long unsigned int' size=8 bits_offset=0 nr_bits=64
>> encoding=(none)
>>
>> I assume that's not expected, correct?
> 
> yes, that seems wrong.. but I can't reproduce with your config
> together with pahole 1.24 .. could you try with latest one?

I just tested next-20241210 with the latest pahole version (1.28 from
the master branch[1]), and the issue does not occur with this version
(I can see only one instance of rcu_data in the BTF data, as expected).

I can confirm that the same kernel revision still exhibits the issue
with pahole 1.24.

If helpful, I can also test versions between 1.24 and 1.28 to identify
which ones work.

Thanks,

Laura

[1] https://git.kernel.org/pub/scm/devel/pahole/pahole.git

> 
> jirka
> 
>>
>> I'll dig a bit deeper and report back if I can find anything else.
>>
>> [1]
>> https://people.collabora.com/~laura.nao/dbg-btf-mismatch-next-20241113/vmlinux
>> [2]
>> https://people.collabora.com/~laura.nao/dbg-btf-mismatch-next-20241113/vmlinux.raw
>> [3]
>> https://people.collabora.com/~laura.nao/dbg-btf-mismatch-next-20241113/cros_kbd_led_backlight.ko
>> [4]
>> https://people.collabora.com/~laura.nao/dbg-btf-mismatch-next-20241113/cros_kbd_led_backlight.ko.raw
>> [5] https://pastebin.com/raw/FvvrPhAY
>>
>> Best,
>>
>> Laura
>>





[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux