lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20241210135501.251505-1-laura.nao@collabora.com>
Date: Tue, 10 Dec 2024 14:55:01 +0100
From: Laura Nao <laura.nao@...labora.com>
To: olsajiri@...il.com
Cc: alan.maguire@...cle.com,
	bpf@...r.kernel.org,
	chrome-platform@...ts.linux.dev,
	kernel@...labora.com,
	laura.nao@...labora.com,
	linux-kernel@...r.kernel.org,
	regressions@...ts.linux.dev
Subject: Re: [REGRESSION] module BTF validation failure (Error -22) on

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
>>


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ