aboutsummaryrefslogtreecommitdiffstats
path: root/net/dccp/output.c
diff options
context:
space:
mode:
authorGerrit Renker <gerrit@erg.abdn.ac.uk>2007-11-28 03:35:08 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-28 17:55:12 -0500
commitf53dc67c5e7babafe239b93a11678b0e05bead51 (patch)
tree50737228e796667e8c24e9a821cb11bca372516a /net/dccp/output.c
parent276f2edc52e309b38a216245952e05880e182c83 (diff)
[DCCP]: Use AF-independent rebuild_header routine
This fixes a nasty bug: dccp_send_reset() is called by both DCCPv4 and DCCPv6, but uses inet_sk_rebuild_header() in each case. This leads to unpredictable and weird behaviour: under some conditions, DCCPv6 Resets were sent, in other not. The fix is to use the AF-independent rebuild_header routine. Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/dccp/output.c')
-rw-r--r--net/dccp/output.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/dccp/output.c b/net/dccp/output.c
index 33ce737ef3a8..7caa7f57bb7e 100644
--- a/net/dccp/output.c
+++ b/net/dccp/output.c
@@ -391,7 +391,7 @@ int dccp_send_reset(struct sock *sk, enum dccp_reset_codes code)
391 * FIXME: what if rebuild_header fails? 391 * FIXME: what if rebuild_header fails?
392 * Should we be doing a rebuild_header here? 392 * Should we be doing a rebuild_header here?
393 */ 393 */
394 int err = inet_sk_rebuild_header(sk); 394 int err = inet_csk(sk)->icsk_af_ops->rebuild_header(sk);
395 395
396 if (err != 0) 396 if (err != 0)
397 return err; 397 return err;