net: sctp: fix initialization of local source address on accepted ipv6 sockets
Subsystems (3)
PATCH 1/1 net: sctp: fix initialization of local source address on accepted ipv6 sockets
commit efe4208f47f907b86f528788da711e8ab9dea44d:
'ipv6: make lookups simpler and faster' broke initialization of local source address on accepted ipv6 sockets. Before the mentioned commit receive address was copied along with the contents of ipv6_pinfo in sctp_v6_create_accept_sk. Now when it is moved, it has to be copied separately.
This also fixes lksctp's ipv6 regression in a sense that test_getname_v6, TC5 - 'getsockname on a connected server socket' now passes.
net/sctp/ipv6.c +2 -0
@@ -662,6 +662,8 @@ static struct sock *sctp_v6_create_accep*/ sctp_v6_to_sk_daddr (&asoc->peer.primary_addr, newsk); + newsk->sk_v6_rcv_saddr = sk->sk_v6_rcv_saddr; +sk_refcnt_debug_inc (newsk);if (newsk->sk_prot->init (newsk)) {
Hi Matija,
Quoted 10 lines · Matija Glavinic Pecotic
commit
efe4208f47f907b86f528788da711e8ab9dea44d:
'ipv6: make lookups simpler and faster' broke initialization of local source address on accepted ipv6 sockets. Before the mentioned commit receive address was copied along with the contents ofipv6_pinfoinsctp_v6_create_accept_sk. Now when it is moved, it has to be copied separately.This also fixes lksctp's ipv6 regression in a sense that
test_getname_v6, TC5 - 'getsockname on a connected server socket' now passes.Signed-off-by Matija Glavinic Pecotic <[email protected]>
1) What about the status of http://patchwork.ozlabs.org/patch/311958/ ? Are you still working on a v2?
2) There already has been some discussion in [1,2] about that issue and an RFC patch for net-next has been proposed in [3] for fixing it on a more general scope. I need to get back to that when net-next opens and when I'm back from the conference trip I'm right now. It's however net-next material for sure.
[1] http://patchwork.ozlabs.org/patch/292245/
[2] http://patchwork.ozlabs.org/patch/292352/
[3] http://www.spinics.net/lists/linux-sctp/msg03089.html
Best,
Daniel
Quoted 16 lines
net/sctp/ipv6.c +2
-1@@ -662,6 +662,8 @@ static struct sock *sctp_v6_create_accep*/ sctp_v6_to_sk_daddr (&asoc->peer.primary_addr, newsk); + newsk->sk_v6_rcv_saddr = sk->sk_v6_rcv_saddr; +sk_refcnt_debug_inc (newsk);if (newsk->sk_prot->init (newsk)) { --To unsubscribe from this list: send the line "unsubscribe linux-sctp" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Hello Daniel,
Quoted 9 lines · ext Daniel Borkmann
Hi Matija,
Quoted 6 lines · Matija Glavinic Pecotic
commit
efe4208f47f907b86f528788da711e8ab9dea44d:
'ipv6: make lookups simpler and faster' broke initialization of local source address on accepted ipv6 sockets. Before the mentioned commit receive address was copied along with the contents ofipv6_pinfoinsctp_v6_create_accept_sk. Now when it is moved, it has to be copied separately.
Quoted 7 lines
Quoted 4 lines
This also fixes lksctp's ipv6 regression in a sense that
test_getname_v6, TC5 - 'getsockname on a connected server socket' now passes.Signed-off-by Matija Glavinic Pecotic <[email protected]>1) What about the status of http://patchwork.ozlabs.org/patch/311958/ ? Are you still working on a v2?
of course, but as I mentioned, patch breaks regression. I can justify that, but I need to fix those broken TCs. This one got in a way while doing that. I'm also a bit busy lately so thats why I'm slower on that one.
Quoted 5 lines
2) There already has been some discussion in [1,2] about that issue and an RFC patch for net-next has been proposed in [3] for fixing it on a more general scope. I need to get back to that when net-next opens and when I'm back from the conference trip I'm right now. It's however net-next material for sure.
yes, that one seems to be better solution.
Regards,
Matija
Quoted 24 lines
[1] http://patchwork.ozlabs.org/patch/292245/
[2] http://patchwork.ozlabs.org/patch/292352/
[3] http://www.spinics.net/lists/linux-sctp/msg03089.htmlBest,
Daniel
Quoted 16 lines
net/sctp/ipv6.c +2
-0@@ -662,6 +662,8 @@ static struct sock *sctp_v6_create_accep*/ sctp_v6_to_sk_daddr (&asoc->peer.primary_addr, newsk); + newsk->sk_v6_rcv_saddr = sk->sk_v6_rcv_saddr; +sk_refcnt_debug_inc (newsk);if (newsk->sk_prot->init (newsk)) {Signature · 3 lines
To unsubscribe from this list: send the line "unsubscribe linux-sctp" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Matija Glavinic Pecotic <[email protected]>
Date: Thu, 06 Feb 2014 08:30:10 +0100
Quoted 10 lines
commit
efe4208f47f907b86f528788da711e8ab9dea44d:
'ipv6: make lookups simpler and faster' broke initialization of local source address on accepted ipv6 sockets. Before the mentioned commit receive address was copied along with the contents ofipv6_pinfoinsctp_v6_create_accept_sk. Now when it is moved, it has to be copied separately.This also fixes lksctp's ipv6 regression in a sense that
test_getname_v6, TC5 - 'getsockname on a connected server socket' now passes.Signed-off-by Matija Glavinic Pecotic <[email protected]>
Applied.