mirror of
https://github.com/torvalds/linux.git
synced 2026-05-25 15:41:52 +02:00
tcp: fix signed/unsigned comparison
Kernel test robot reported:
smatch warnings:
net/ipv4/tcp_input.c:5966 tcp_rcv_established() warn: unsigned 'reason' is never less than zero.
I actually had one packetdrill failing because of this bug,
and was about to send the fix :)
v2: Andreas Schwab also pointed out that @reason needs to be negated
before we reach tcp_drop_reason()
Fixes: 4b506af9c5 ("tcp: add two drop reasons for tcp_ack()")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Andreas Schwab <schwab@linux-m68k.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
53c33a16d0
commit
843f77407e
|
|
@ -5959,9 +5959,10 @@ void tcp_rcv_established(struct sock *sk, struct sk_buff *skb)
|
|||
|
||||
step5:
|
||||
reason = tcp_ack(sk, skb, FLAG_SLOWPATH | FLAG_UPDATE_TS_RECENT);
|
||||
if (reason < 0)
|
||||
if ((int)reason < 0) {
|
||||
reason = -reason;
|
||||
goto discard;
|
||||
|
||||
}
|
||||
tcp_rcv_rtt_measure_ts(sk, skb);
|
||||
|
||||
/* Process urgent data. */
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user