mirror of
https://github.com/torvalds/linux.git
synced 2024-11-11 22:51:42 +00:00
[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>
This commit is contained in:
parent
276f2edc52
commit
f53dc67c5e
@ -391,7 +391,7 @@ int dccp_send_reset(struct sock *sk, enum dccp_reset_codes code)
|
||||
* FIXME: what if rebuild_header fails?
|
||||
* Should we be doing a rebuild_header here?
|
||||
*/
|
||||
int err = inet_sk_rebuild_header(sk);
|
||||
int err = inet_csk(sk)->icsk_af_ops->rebuild_header(sk);
|
||||
|
||||
if (err != 0)
|
||||
return err;
|
||||
|
Loading…
Reference in New Issue
Block a user