summaryrefslogtreecommitdiff
path: root/include/linux/bpfilter.h
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2019-01-29 12:04:54 +0000
committerMark Brown <broonie@kernel.org>2019-01-29 12:04:54 +0000
commitd7c26e63cf78fef01d66ae848184c6ee5f4b8bbf (patch)
tree3765745a38a7ae1a4a3a056dfc6c736e4c99271d /include/linux/bpfilter.h
parenta8233b6c1972e1959cf84a021aeb61ddcd23cc26 (diff)
parentf17b5f06cb92ef2250513a1e154c47b78df07d40 (diff)
Merge tag 'v5.0-rc4' into asoc-5.1
Linux 5.0-rc4
Diffstat (limited to 'include/linux/bpfilter.h')
-rw-r--r--include/linux/bpfilter.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/include/linux/bpfilter.h b/include/linux/bpfilter.h
index f02cee0225d4..d815622cd31e 100644
--- a/include/linux/bpfilter.h
+++ b/include/linux/bpfilter.h
@@ -3,13 +3,22 @@
#define _LINUX_BPFILTER_H
#include <uapi/linux/bpfilter.h>
+#include <linux/umh.h>
struct sock;
int bpfilter_ip_set_sockopt(struct sock *sk, int optname, char __user *optval,
unsigned int optlen);
int bpfilter_ip_get_sockopt(struct sock *sk, int optname, char __user *optval,
int __user *optlen);
-extern int (*bpfilter_process_sockopt)(struct sock *sk, int optname,
- char __user *optval,
- unsigned int optlen, bool is_set);
+struct bpfilter_umh_ops {
+ struct umh_info info;
+ /* since ip_getsockopt() can run in parallel, serialize access to umh */
+ struct mutex lock;
+ int (*sockopt)(struct sock *sk, int optname,
+ char __user *optval,
+ unsigned int optlen, bool is_set);
+ int (*start)(void);
+ bool stop;
+};
+extern struct bpfilter_umh_ops bpfilter_ops;
#endif