From c3e30574d6c3aa421f389b83611bac7c239b64b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?YOSHIFUJI=20Hideaki=20/=20=E5=90=89=E8=97=A4=E8=8B=B1?= =?UTF-8?q?=E6=98=8E?= Date: Sun, 11 Oct 2009 03:45:13 +0000 Subject: [PATCH] --- yaml --- r: 170652 b: refs/heads/master c: 91b2a3f9bb0fa8d64b365a10b0624b0341e1a338 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/net/ipv6/sit.c | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index b98aa57f3b24..a8ccb74ec122 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e7db38c38fe8df1d890ae772737e27308bdc5956 +refs/heads/master: 91b2a3f9bb0fa8d64b365a10b0624b0341e1a338 diff --git a/trunk/net/ipv6/sit.c b/trunk/net/ipv6/sit.c index 193d0c6c5ce2..510d31f3cb96 100644 --- a/trunk/net/ipv6/sit.c +++ b/trunk/net/ipv6/sit.c @@ -1014,9 +1014,12 @@ ipip6_tunnel_ioctl (struct net_device *dev, struct ifreq *ifr, int cmd) ip6rd.prefixlen); if (!ipv6_addr_equal(&prefix, &ip6rd.prefix)) goto done; - relay_prefix = ip6rd.relay_prefix & - htonl(0xffffffffUL << - (32 - ip6rd.relay_prefixlen)); + if (ip6rd.relay_prefixlen) + relay_prefix = ip6rd.relay_prefix & + htonl(0xffffffffUL << + (32 - ip6rd.relay_prefixlen)); + else + relay_prefix = 0; if (relay_prefix != ip6rd.relay_prefix) goto done;