Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

sched_ext: Make cast_mask() inline

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")

+1 -1
+1 -1
tools/sched_ext/include/scx/common.bpf.h
··· 320 320 /* 321 321 * Access a cpumask in read-only mode (typically to check bits). 322 322 */ 323 - const struct cpumask *cast_mask(struct bpf_cpumask *mask) 323 + static __always_inline const struct cpumask *cast_mask(struct bpf_cpumask *mask) 324 324 { 325 325 return (const struct cpumask *)mask; 326 326 }