From 3c9687ebdb21231018923bcc162e7fdd1d3a51ac Mon Sep 17 00:00:00 2001 From: Duncaen Date: Sun, 4 May 2025 23:16:50 +0200 Subject: [PATCH] linux6.12: fix build error --- .../Fix-BPF_INTERNAL-namespace-import.patch | 35 +++++++++++++++++++ srcpkgs/linux6.12/template | 2 -- 2 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 srcpkgs/linux6.12/patches/Fix-BPF_INTERNAL-namespace-import.patch diff --git a/srcpkgs/linux6.12/patches/Fix-BPF_INTERNAL-namespace-import.patch b/srcpkgs/linux6.12/patches/Fix-BPF_INTERNAL-namespace-import.patch new file mode 100644 index 00000000000..b56f63800af --- /dev/null +++ b/srcpkgs/linux6.12/patches/Fix-BPF_INTERNAL-namespace-import.patch @@ -0,0 +1,35 @@ +The commit cdd30ebb1b9f ("module: Convert symbol namespace to string +literal") makes the grammar of MODULE_IMPORT_NS and EXPORT_SYMBOL_NS +different between the stable branches and the mainline. But when +the commit 955f9ede52b8 ("bpf: Add namespace to BPF internal symbols") +was backported from mainline, only EXPORT_SYMBOL_NS instances are +adapted, leaving the MODULE_IMPORT_NS instance with the "new" grammar +and causing the module fails to build: + + ERROR: modpost: module bpf_preload uses symbol bpf_link_get_from_fd from namespace BPF_INTERNAL, but does not import it. + ERROR: modpost: module bpf_preload uses symbol kern_sys_bpf from namespace BPF_INTERNAL, but does not import it. + +Reported-by: Mingcong Bai +Reported-by: Alex Davis +Closes: https://lore.kernel.org/all/CADiockBKBQTVqjA5G+RJ9LBwnEnZ8o0odYnL=LBZ_7QN=_SZ7A@mail.gmail.com/ +Fixes: 955f9ede52b8 ("bpf: Add namespace to BPF internal symbols") +Signed-off-by: Xi Ruoyao +--- + kernel/bpf/preload/bpf_preload_kern.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/kernel/bpf/preload/bpf_preload_kern.c b/kernel/bpf/preload/bpf_preload_kern.c +index 56a81df7a9d7..fdad0eb308fe 100644 +--- a/kernel/bpf/preload/bpf_preload_kern.c ++++ b/kernel/bpf/preload/bpf_preload_kern.c +@@ -89,5 +89,5 @@ static void __exit fini(void) + } + late_initcall(load); + module_exit(fini); +-MODULE_IMPORT_NS("BPF_INTERNAL"); ++MODULE_IMPORT_NS(BPF_INTERNAL); + MODULE_LICENSE("GPL"); +-- +2.49.0 + + diff --git a/srcpkgs/linux6.12/template b/srcpkgs/linux6.12/template index 52691d8af43..2733d5d3d6f 100644 --- a/srcpkgs/linux6.12/template +++ b/srcpkgs/linux6.12/template @@ -13,8 +13,6 @@ if [ "${version##*.}" != 0 ]; then skip_extraction="patch-${version}.xz" fi -broken="currently broken, waiting for patch, let other things build" - checksum="b1a2562be56e42afb3f8489d4c2a7ac472ac23098f1ef1c1e40da601f54625eb 14aef80cbafd0a45c6b4683a4286665f0e150881e54a42c1b435f67f536aaf9d" python_version=3