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 - 2024 Red Hat, Inc.