From: Christoph Paasch <cpaa...@apple.com> Date: Mon, 11 Dec 2017 00:05:46 -0800
> The MD5-key that belongs to a connection is identified by the peer's > IP-address. When we are in tcp_v4(6)_reqsk_send_ack(), we are replying > to an incoming segment from tcp_check_req() that failed the seq-number > checks. > > Thus, to find the correct key, we need to use the skb's saddr and not > the daddr. > > This bug seems to have been there since quite a while, but probably got > unnoticed because the consequences are not catastrophic. We will call > tcp_v4_reqsk_send_ack only to send a challenge-ACK back to the peer, > thus the connection doesn't really fail. > > Fixes: 9501f9722922 ("tcp md5sig: Let the caller pass appropriate key for > tcp_v{4,6}_do_calc_md5_hash().") > Signed-off-by: Christoph Paasch <cpaa...@apple.com> Applied and queued up for -stable, thanks.