diff options
| author | Tony Lindgren <tony@atomide.com> | 2011-02-25 15:27:14 -0500 |
|---|---|---|
| committer | Tony Lindgren <tony@atomide.com> | 2011-02-25 15:27:14 -0500 |
| commit | 02fa9f0451ac639a687bfc145eefe58703ff220e (patch) | |
| tree | fe984acc78f22f6eb8fb98efaba8b1ac2f3ad8d9 /net/ipv4/raw.c | |
| parent | cbc9438075ca9dee3f39a2e7310f81c304b40359 (diff) | |
| parent | 51c404b2c514930e98e81e0b9294f19892a4f871 (diff) | |
Merge branch 'patches_for_2.6.38rc' of git://git.pwsan.com/linux-2.6 into devel-fixes
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 | ||
