diff options
Diffstat (limited to 'net/ipv4/raw.c')
| -rw-r--r-- | net/ipv4/raw.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/net/ipv4/raw.c b/net/ipv4/raw.c index a3d5ab786e81..6390ba299b3d 100644 --- a/net/ipv4/raw.c +++ b/net/ipv4/raw.c | |||
| @@ -76,6 +76,7 @@ | |||
| 76 | #include <linux/seq_file.h> | 76 | #include <linux/seq_file.h> |
| 77 | #include <linux/netfilter.h> | 77 | #include <linux/netfilter.h> |
| 78 | #include <linux/netfilter_ipv4.h> | 78 | #include <linux/netfilter_ipv4.h> |
| 79 | #include <linux/compat.h> | ||
| 79 | 80 | ||
| 80 | static struct raw_hashinfo raw_v4_hashinfo = { | 81 | static struct raw_hashinfo raw_v4_hashinfo = { |
| 81 | .lock = __RW_LOCK_UNLOCKED(raw_v4_hashinfo.lock), | 82 | .lock = __RW_LOCK_UNLOCKED(raw_v4_hashinfo.lock), |
| @@ -838,6 +839,23 @@ static int raw_ioctl(struct sock *sk, int cmd, unsigned long arg) | |||
| 838 | } | 839 | } |
| 839 | } | 840 | } |
| 840 | 841 | ||
| 842 | #ifdef CONFIG_COMPAT | ||
| 843 | static int compat_raw_ioctl(struct sock *sk, unsigned int cmd, unsigned long arg) | ||
| 844 | { | ||
| 845 | switch (cmd) { | ||
| 846 | case SIOCOUTQ: | ||
| 847 | case SIOCINQ: | ||
| 848 | return -ENOIOCTLCMD; | ||
| 849 | default: | ||
| 850 | #ifdef CONFIG_IP_MROUTE | ||
| 851 | return ipmr_compat_ioctl(sk, cmd, compat_ptr(arg)); | ||
| 852 | #else | ||
| 853 | return -ENOIOCTLCMD; | ||
| 854 | #endif | ||
| 855 | } | ||
| 856 | } | ||
| 857 | #endif | ||
| 858 | |||
| 841 | struct proto raw_prot = { | 859 | struct proto raw_prot = { |
| 842 | .name = "RAW", | 860 | .name = "RAW", |
| 843 | .owner = THIS_MODULE, | 861 | .owner = THIS_MODULE, |
| @@ -860,6 +878,7 @@ struct proto raw_prot = { | |||
| 860 | #ifdef CONFIG_COMPAT | 878 | #ifdef CONFIG_COMPAT |
| 861 | .compat_setsockopt = compat_raw_setsockopt, | 879 | .compat_setsockopt = compat_raw_setsockopt, |
| 862 | .compat_getsockopt = compat_raw_getsockopt, | 880 | .compat_getsockopt = compat_raw_getsockopt, |
| 881 | .compat_ioctl = compat_raw_ioctl, | ||
| 863 | #endif | 882 | #endif |
| 864 | }; | 883 | }; |
| 865 | 884 | ||
