tools/sched_ext/include/scx/common.bpf.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
cast_mask() doesn't do any actual work and is defined in a header file.
Force it to be inline. When it is not inlined and the function is not used,
it can cause verificaiton failures like the following:
# tools/testing/selftests/sched_ext/runner -t minimal
===== START =====
TEST: minimal
DESCRIPTION: Verify we can load a fully minimal scheduler
OUTPUT:
libbpf: prog 'cast_mask': missing BPF prog type, check ELF section name '.text'
libbpf: prog 'cast_mask': failed to load: -22
libbpf: failed to load object 'minimal'
libbpf: failed to load BPF skeleton 'minimal': -22
ERR: minimal.c:20
Failed to open and load skel
not ok 1 minimal #
===== END =====
Signed-off-by: Tejun Heo <tj@kernel.org>
Fixes: a748db0c8c6a ("tools/sched_ext: Receive misc updates from SCX repo")
---
tools/sched_ext/include/scx/common.bpf.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/sched_ext/include/scx/common.bpf.h b/tools/sched_ext/include/scx/common.bpf.h
index 27749c51c3ec..248ab790d143 100644
--- a/tools/sched_ext/include/scx/common.bpf.h
+++ b/tools/sched_ext/include/scx/common.bpf.h
@@ -320,7 +320,7 @@ u32 bpf_cpumask_weight(const struct cpumask *cpumask) __ksym;
/*
* Access a cpumask in read-only mode (typically to check bits).
*/
-const struct cpumask *cast_mask(struct bpf_cpumask *mask)
+static __always_inline const struct cpumask *cast_mask(struct bpf_cpumask *mask)
{
return (const struct cpumask *)mask;
}
On Fri, Oct 25, 2024 at 12:11:14PM -1000, Tejun Heo wrote:
> cast_mask() doesn't do any actual work and is defined in a header file.
> Force it to be inline. When it is not inlined and the function is not used,
> it can cause verificaiton failures like the following:
>
> # tools/testing/selftests/sched_ext/runner -t minimal
> ===== START =====
> TEST: minimal
> DESCRIPTION: Verify we can load a fully minimal scheduler
> OUTPUT:
> libbpf: prog 'cast_mask': missing BPF prog type, check ELF section name '.text'
> libbpf: prog 'cast_mask': failed to load: -22
> libbpf: failed to load object 'minimal'
> libbpf: failed to load BPF skeleton 'minimal': -22
> ERR: minimal.c:20
> Failed to open and load skel
> not ok 1 minimal #
> ===== END =====
>
> Signed-off-by: Tejun Heo <tj@kernel.org>
> Fixes: a748db0c8c6a ("tools/sched_ext: Receive misc updates from SCX repo")
Applying to sched_ext/for-6.12-fixes.
Thanks.
--
tejun
© 2016 - 2026 Red Hat, Inc.