summaryrefslogtreecommitdiffstats
path: root/net/sctp
diff options
context:
space:
mode:
authorWei Yongjun2008-05-10 00:11:17 +0200
committerDavid S. Miller2008-05-12 12:11:43 +0200
commit6e40a915de82e00d18f75941e531b40c4e0d94c4 (patch)
treed91e7d32ed92a323c588bd3583d7c9378784c53e /net/sctp
parentniu: Determine the # of ports from the card's VPD data (diff)
downloadkernel-qcow2-linux-6e40a915de82e00d18f75941e531b40c4e0d94c4.tar.gz
kernel-qcow2-linux-6e40a915de82e00d18f75941e531b40c4e0d94c4.tar.xz
kernel-qcow2-linux-6e40a915de82e00d18f75941e531b40c4e0d94c4.zip
sctp: Do not enable peer IPv6 address support on PF_INET socket
If socket is create by PF_INET type, it can not used IPv6 address to send/recv DATA, So we can not used IPv6 address even if peer tell us it support IPv6 address. This patch fix to only enabled peer IPv6 address support on PF_INET6 socket. Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com> Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sctp')
-rw-r--r--net/sctp/sm_make_chunk.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/sctp/sm_make_chunk.c b/net/sctp/sm_make_chunk.c
index 81b606424e12..69a464f1d2b9 100644
--- a/net/sctp/sm_make_chunk.c
+++ b/net/sctp/sm_make_chunk.c
@@ -2418,7 +2418,8 @@ static int sctp_process_param(struct sctp_association *asoc,
break;
case SCTP_PARAM_IPV6_ADDRESS:
- asoc->peer.ipv6_address = 1;
+ if (PF_INET6 == asoc->base.sk->sk_family)
+ asoc->peer.ipv6_address = 1;
break;
case SCTP_PARAM_HOST_NAME_ADDRESS: