Skip to content

Commit 34a9c01

Browse files
laoarKernel Patches Daemon
authored andcommitted
selftests/bpf: Mark cpumask kfunc declarations as __weak
After the series "Annotate kfuncs in .BTF_ids section"[0], kfuncs can be generated from bpftool. Let's mark the existing cpumask kfunc declarations __weak so they don't conflict with definitions that will eventually come from vmlinux.h. [0]. https://lore.kernel.org/all/cover.1706491398.git.dxu@dxuuu.xyz Suggested-by: Andrii Nakryiko <andrii.nakryiko@gmail.com> Signed-off-by: Yafang Shao <laoar.shao@gmail.com> Cc: Daniel Xu <dxu@dxuuu.xyz>
1 parent 046b8e8 commit 34a9c01

File tree

1 file changed

+29
-28
lines changed

1 file changed

+29
-28
lines changed

tools/testing/selftests/bpf/progs/cpumask_common.h

Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -23,41 +23,42 @@ struct array_map {
2323
__uint(max_entries, 1);
2424
} __cpumask_map SEC(".maps");
2525

26-
struct bpf_cpumask *bpf_cpumask_create(void) __ksym;
27-
void bpf_cpumask_release(struct bpf_cpumask *cpumask) __ksym;
28-
struct bpf_cpumask *bpf_cpumask_acquire(struct bpf_cpumask *cpumask) __ksym;
29-
u32 bpf_cpumask_first(const struct cpumask *cpumask) __ksym;
30-
u32 bpf_cpumask_first_zero(const struct cpumask *cpumask) __ksym;
26+
struct bpf_cpumask *bpf_cpumask_create(void) __ksym __weak;
27+
void bpf_cpumask_release(struct bpf_cpumask *cpumask) __ksym __weak;
28+
struct bpf_cpumask *bpf_cpumask_acquire(struct bpf_cpumask *cpumask) __ksym __weak;
29+
u32 bpf_cpumask_first(const struct cpumask *cpumask) __ksym __weak;
30+
u32 bpf_cpumask_first_zero(const struct cpumask *cpumask) __ksym __weak;
3131
u32 bpf_cpumask_first_and(const struct cpumask *src1,
32-
const struct cpumask *src2) __ksym;
33-
void bpf_cpumask_set_cpu(u32 cpu, struct bpf_cpumask *cpumask) __ksym;
34-
void bpf_cpumask_clear_cpu(u32 cpu, struct bpf_cpumask *cpumask) __ksym;
35-
bool bpf_cpumask_test_cpu(u32 cpu, const struct cpumask *cpumask) __ksym;
36-
bool bpf_cpumask_test_and_set_cpu(u32 cpu, struct bpf_cpumask *cpumask) __ksym;
37-
bool bpf_cpumask_test_and_clear_cpu(u32 cpu, struct bpf_cpumask *cpumask) __ksym;
38-
void bpf_cpumask_setall(struct bpf_cpumask *cpumask) __ksym;
39-
void bpf_cpumask_clear(struct bpf_cpumask *cpumask) __ksym;
32+
const struct cpumask *src2) __ksym __weak;
33+
void bpf_cpumask_set_cpu(u32 cpu, struct bpf_cpumask *cpumask) __ksym __weak;
34+
void bpf_cpumask_clear_cpu(u32 cpu, struct bpf_cpumask *cpumask) __ksym __weak;
35+
bool bpf_cpumask_test_cpu(u32 cpu, const struct cpumask *cpumask) __ksym __weak;
36+
bool bpf_cpumask_test_and_set_cpu(u32 cpu, struct bpf_cpumask *cpumask) __ksym __weak;
37+
bool bpf_cpumask_test_and_clear_cpu(u32 cpu, struct bpf_cpumask *cpumask) __ksym __weak;
38+
void bpf_cpumask_setall(struct bpf_cpumask *cpumask) __ksym __weak;
39+
void bpf_cpumask_clear(struct bpf_cpumask *cpumask) __ksym __weak;
4040
bool bpf_cpumask_and(struct bpf_cpumask *cpumask,
4141
const struct cpumask *src1,
42-
const struct cpumask *src2) __ksym;
42+
const struct cpumask *src2) __ksym __weak;
4343
void bpf_cpumask_or(struct bpf_cpumask *cpumask,
4444
const struct cpumask *src1,
45-
const struct cpumask *src2) __ksym;
45+
const struct cpumask *src2) __ksym __weak;
4646
void bpf_cpumask_xor(struct bpf_cpumask *cpumask,
4747
const struct cpumask *src1,
48-
const struct cpumask *src2) __ksym;
49-
bool bpf_cpumask_equal(const struct cpumask *src1, const struct cpumask *src2) __ksym;
50-
bool bpf_cpumask_intersects(const struct cpumask *src1, const struct cpumask *src2) __ksym;
51-
bool bpf_cpumask_subset(const struct cpumask *src1, const struct cpumask *src2) __ksym;
52-
bool bpf_cpumask_empty(const struct cpumask *cpumask) __ksym;
53-
bool bpf_cpumask_full(const struct cpumask *cpumask) __ksym;
54-
void bpf_cpumask_copy(struct bpf_cpumask *dst, const struct cpumask *src) __ksym;
55-
u32 bpf_cpumask_any_distribute(const struct cpumask *src) __ksym;
56-
u32 bpf_cpumask_any_and_distribute(const struct cpumask *src1, const struct cpumask *src2) __ksym;
57-
u32 bpf_cpumask_weight(const struct cpumask *cpumask) __ksym;
58-
59-
void bpf_rcu_read_lock(void) __ksym;
60-
void bpf_rcu_read_unlock(void) __ksym;
48+
const struct cpumask *src2) __ksym __weak;
49+
bool bpf_cpumask_equal(const struct cpumask *src1, const struct cpumask *src2) __ksym __weak;
50+
bool bpf_cpumask_intersects(const struct cpumask *src1, const struct cpumask *src2) __ksym __weak;
51+
bool bpf_cpumask_subset(const struct cpumask *src1, const struct cpumask *src2) __ksym __weak;
52+
bool bpf_cpumask_empty(const struct cpumask *cpumask) __ksym __weak;
53+
bool bpf_cpumask_full(const struct cpumask *cpumask) __ksym __weak;
54+
void bpf_cpumask_copy(struct bpf_cpumask *dst, const struct cpumask *src) __ksym __weak;
55+
u32 bpf_cpumask_any_distribute(const struct cpumask *src) __ksym __weak;
56+
u32 bpf_cpumask_any_and_distribute(const struct cpumask *src1,
57+
const struct cpumask *src2) __ksym __weak;
58+
u32 bpf_cpumask_weight(const struct cpumask *cpumask) __ksym __weak;
59+
60+
void bpf_rcu_read_lock(void) __ksym __weak;
61+
void bpf_rcu_read_unlock(void) __ksym __weak;
6162

6263
static inline const struct cpumask *cast(struct bpf_cpumask *cpumask)
6364
{

0 commit comments

Comments
 (0)