From: Joe Perches Date: Sun, 25 Nov 2012 18:26:34 +0000 (+0000) Subject: ip6mr: Add sizeof verification to MRT6_ASSERT and MT6_PIM X-Git-Tag: upstream/snapshot3+hdmi~6096^2~205 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=03f52a0a554210d5049eeed9f1bb29047dc807cb;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git ip6mr: Add sizeof verification to MRT6_ASSERT and MT6_PIM Verify the length of the user-space arguments. Signed-off-by: Joe Perches Signed-off-by: David S. Miller --- diff --git a/net/ipv6/ip6mr.c b/net/ipv6/ip6mr.c index 79bb490..926ea54 100644 --- a/net/ipv6/ip6mr.c +++ b/net/ipv6/ip6mr.c @@ -1646,6 +1646,9 @@ int ip6_mroute_setsockopt(struct sock *sk, int optname, char __user *optval, uns case MRT6_ASSERT: { int v; + + if (optlen != sizeof(v)) + return -EINVAL; if (get_user(v, (int __user *)optval)) return -EFAULT; mrt->mroute_do_assert = v; @@ -1656,6 +1659,9 @@ int ip6_mroute_setsockopt(struct sock *sk, int optname, char __user *optval, uns case MRT6_PIM: { int v; + + if (optlen != sizeof(v)) + return -EINVAL; if (get_user(v, (int __user *)optval)) return -EFAULT; v = !!v;