| // SPDX-License-Identifier: GPL-2.0 |
| #ifndef IO_URING_BPF_FILTER_H |
| #define IO_URING_BPF_FILTER_H |
| |
| #include <uapi/linux/io_uring/bpf_filter.h> |
| |
| #ifdef CONFIG_IO_URING_BPF |
| |
| int __io_uring_run_bpf_filters(struct io_bpf_filter __rcu **filters, struct io_kiocb *req); |
| |
| int io_register_bpf_filter(struct io_restriction *res, |
| struct io_uring_bpf __user *arg); |
| |
| void io_put_bpf_filters(struct io_restriction *res); |
| |
| void io_bpf_filter_clone(struct io_restriction *dst, struct io_restriction *src); |
| |
| static inline int io_uring_run_bpf_filters(struct io_bpf_filter __rcu **filters, |
| struct io_kiocb *req) |
| { |
| if (filters) |
| return __io_uring_run_bpf_filters(filters, req); |
| |
| return 0; |
| } |
| |
| #else |
| |
| static inline int io_register_bpf_filter(struct io_restriction *res, |
| struct io_uring_bpf __user *arg) |
| { |
| return -EINVAL; |
| } |
| static inline int io_uring_run_bpf_filters(struct io_bpf_filter __rcu **filters, |
| struct io_kiocb *req) |
| { |
| return 0; |
| } |
| static inline void io_put_bpf_filters(struct io_restriction *res) |
| { |
| } |
| static inline void io_bpf_filter_clone(struct io_restriction *dst, |
| struct io_restriction *src) |
| { |
| } |
| #endif /* CONFIG_IO_URING_BPF */ |
| |
| #endif |