Re: aarch64 5.15.68 regression in topology/thread_siblings (huge file size and no content)

From: Phil Auld
Date: Thu Sep 22 2022 - 08:32:21 EST


On Thu, Sep 22, 2022 at 01:32:17PM +0200 Petr Štetiar wrote:
> Hi,
>
> we've got a recent bug report[1], that lscpu segfaults on aarch64 board running
> 5.15.y kernel. It is working fine on 5.10.y kernel.
>
> I've tracked it down[2] to the issue with `topology/thread_siblings` which
> apart from very strange file size returns empty content. I assume, that it's
> somehow related to the changes done in commit bb9ec13d156e ("topology: use
> bin_attribute to break the size limitation of cpumap ABI"), but I didn't tried
> to revert it yet to verify it.
>

This is actually due to a fix for that since returning 0 size breaks
things as well.

7ee951acd31a drivers/base: fix userspace break from using bin_attributes for cpumap and cpulist

The fix for small number of cpus as you have is now in Greg's driver core tree

d7f06bdd6ee8 drivers/base: Fix unsigned comparison to -1 in CPUMAP_FILE_MAX_BYTES

and should work it's way back to stable trees soon.


Cheers,
Phil


> Kernel 5.15.68:
>
> root@OpenWrt:/# uname -a
> Linux OpenWrt 5.15.68 #0 SMP Wed Sep 21 05:54:21 2022 aarch64 GNU/Linux
>
> root@OpenWrt:/# find /sys -name thread_siblings -exec ls -al {} \;
> -r--r--r-- 1 root root 18446744073709551615 Sep 22 08:37 /sys/devices/system/cpu/cpu1/topology/thread_siblings
> -r--r--r-- 1 root root 18446744073709551615 Sep 22 08:37 /sys/devices/system/cpu/cpu0/topology/thread_siblings
>
> root@OpenWrt:/# find /sys -name thread_siblings -exec cat {} \;
> root@OpenWrt:/#
>
> Kernel 5.10.138:
>
> root@OpenWrt:/# uname -a
> Linux OpenWrt 5.10.138 #0 SMP Sat Sep 3 02:55:34 2022 aarch64 GNU/Linux
>
> root@OpenWrt:/# find /sys -name thread_siblings -exec cat {} \;
> 2
> 1
>
> root@OpenWrt:/# find /sys -name thread_siblings -exec ls -al {} \;
> -r--r--r-- 1 root root 4096 Sep 22 11:12 /sys/devices/system/cpu/cpu1/topology/thread_siblings
> -r--r--r-- 1 root root 4096 Sep 22 11:12 /sys/devices/system/cpu/cpu0/topology/thread_siblings
>
>
> 1. https://github.com/openwrt/openwrt/issues/10737
> 2. https://github.com/util-linux/util-linux/pull/1821
>
>
> Cheers,
>
> Petr
>

--