.. | .. |
---|
8 | 8 | #include <net/fib_notifier.h> |
---|
9 | 9 | #include <uapi/linux/mroute.h> |
---|
10 | 10 | #include <linux/mroute_base.h> |
---|
| 11 | +#include <linux/sockptr.h> |
---|
11 | 12 | |
---|
12 | 13 | #ifdef CONFIG_IP_MROUTE |
---|
13 | 14 | static inline int ip_mroute_opt(int opt) |
---|
.. | .. |
---|
15 | 16 | return opt >= MRT_BASE && opt <= MRT_MAX; |
---|
16 | 17 | } |
---|
17 | 18 | |
---|
18 | | -int ip_mroute_setsockopt(struct sock *, int, char __user *, unsigned int); |
---|
| 19 | +int ip_mroute_setsockopt(struct sock *, int, sockptr_t, unsigned int); |
---|
19 | 20 | int ip_mroute_getsockopt(struct sock *, int, char __user *, int __user *); |
---|
20 | 21 | int ipmr_ioctl(struct sock *sk, int cmd, void __user *arg); |
---|
21 | 22 | int ipmr_compat_ioctl(struct sock *sk, unsigned int cmd, void __user *arg); |
---|
.. | .. |
---|
23 | 24 | bool ipmr_rule_default(const struct fib_rule *rule); |
---|
24 | 25 | #else |
---|
25 | 26 | static inline int ip_mroute_setsockopt(struct sock *sock, int optname, |
---|
26 | | - char __user *optval, unsigned int optlen) |
---|
| 27 | + sockptr_t optval, unsigned int optlen) |
---|
27 | 28 | { |
---|
28 | 29 | return -ENOPROTOOPT; |
---|
29 | 30 | } |
---|