Re: [PATCH v2] mm/page_alloc: Work around a pahole limitation with zero-sized struct pagesets
From: Mel Gorman <hidden>
Date: 2021-05-27 14:54:46
Also in:
bpf, lkml, netdev
From: Mel Gorman <hidden>
Date: 2021-05-27 14:54:46
Also in:
bpf, lkml, netdev
On Thu, May 27, 2021 at 07:37:05AM -0700, Andrii Nakryiko wrote:
quoted
This patch checks for older versions of pahole and only allows DEBUG_INFO_BTF_MODULES if pahole supports zero-sized per-cpu structures. DEBUG_INFO_BTF is still allowed as a KVM boot test passed with paholeUnfortunately this won't work. The problem is that vmlinux BTF is corrupted, which results in module BTFs to be rejected as well, as they depend on it. But vmlinux BTF corruption makes BPF subsystem completely unusable. So even though kernel boots, nothing BPF-related works. So we'd need to add dependency for DEBUG_INFO_BTF on pahole 1.22+.
While bpf usage would be broken, the kernel will boot and the effect should be transparent to any kernel build based on "make oldconfig". CONFIG_DEBUG_INFO_BTF defaults N so if that is forced out, it will be easily missed by a distribution kernel maintainer. Yes, users of BPF will be affected and it may generate bug reports but the fix will be to build with a working pahole. Breaking boot on the other hand is a lot more visible and hacking around this with a non-zero struct size has been shot down. -- Mel Gorman SUSE Labs