@@ -23,41 +23,42 @@ struct array_map {
23
23
__uint (max_entries , 1 );
24
24
} __cpumask_map SEC (".maps" );
25
25
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 ;
31
31
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 ;
40
40
bool bpf_cpumask_and (struct bpf_cpumask * cpumask ,
41
41
const struct cpumask * src1 ,
42
- const struct cpumask * src2 ) __ksym ;
42
+ const struct cpumask * src2 ) __ksym __weak ;
43
43
void bpf_cpumask_or (struct bpf_cpumask * cpumask ,
44
44
const struct cpumask * src1 ,
45
- const struct cpumask * src2 ) __ksym ;
45
+ const struct cpumask * src2 ) __ksym __weak ;
46
46
void bpf_cpumask_xor (struct bpf_cpumask * cpumask ,
47
47
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 ;
61
62
62
63
static inline const struct cpumask * cast (struct bpf_cpumask * cpumask )
63
64
{
0 commit comments