Move bpf_prog_sub to be exported by compat
[compat-rdma/compat.git] / compat / syscall.c
1 #ifdef HAVE_XDP_BUFF
2
3 #ifndef HAVE_BPF_PROG_SUB
4 #include <linux/filter.h>
5 #include <linux/bpf.h>
6 void bpf_prog_sub(struct bpf_prog *prog, int i)
7 {
8         /* Only to be used for undoing previous bpf_prog_add() in some
9          * error path. We still know that another entity in our call
10          * path holds a reference to the program, thus atomic_sub() can
11          * be safely used in such cases!
12          */
13         WARN_ON(atomic_sub_return(i, &prog->aux->refcnt) == 0);
14 }
15 EXPORT_SYMBOL_GPL(bpf_prog_sub);
16 #endif /* HAVE_BPF_PROG_SUB */
17
18 #endif /* HAVE_XDP_BUFF */