|
@@ -394,27 +394,23 @@ static bool bpf_prog_kallsyms_verify_off(const struct bpf_prog *fp)
|
|
|
|
|
|
void bpf_prog_kallsyms_add(struct bpf_prog *fp)
|
|
|
{
|
|
|
- unsigned long flags;
|
|
|
-
|
|
|
if (!bpf_prog_kallsyms_candidate(fp) ||
|
|
|
!capable(CAP_SYS_ADMIN))
|
|
|
return;
|
|
|
|
|
|
- spin_lock_irqsave(&bpf_lock, flags);
|
|
|
+ spin_lock_bh(&bpf_lock);
|
|
|
bpf_prog_ksym_node_add(fp->aux);
|
|
|
- spin_unlock_irqrestore(&bpf_lock, flags);
|
|
|
+ spin_unlock_bh(&bpf_lock);
|
|
|
}
|
|
|
|
|
|
void bpf_prog_kallsyms_del(struct bpf_prog *fp)
|
|
|
{
|
|
|
- unsigned long flags;
|
|
|
-
|
|
|
if (!bpf_prog_kallsyms_candidate(fp))
|
|
|
return;
|
|
|
|
|
|
- spin_lock_irqsave(&bpf_lock, flags);
|
|
|
+ spin_lock_bh(&bpf_lock);
|
|
|
bpf_prog_ksym_node_del(fp->aux);
|
|
|
- spin_unlock_irqrestore(&bpf_lock, flags);
|
|
|
+ spin_unlock_bh(&bpf_lock);
|
|
|
}
|
|
|
|
|
|
static struct bpf_prog *bpf_prog_kallsyms_find(unsigned long addr)
|