| From foo@baz Wed Aug 22 09:42:09 CEST 2018 |
| From: Randy Dunlap <rdunlap@infradead.org> |
| Date: Tue, 17 Jul 2018 18:27:45 -0700 |
| Subject: tcp: identify cryptic messages as TCP seq # bugs |
| |
| From: Randy Dunlap <rdunlap@infradead.org> |
| |
| [ Upstream commit e56b8ce363a36fb7b74b80aaa5cc9084f2c908b4 ] |
| |
| Attempt to make cryptic TCP seq number error messages clearer by |
| (1) identifying the source of the message as "TCP", (2) identifying the |
| errors as "seq # bug", and (3) grouping the field identifiers and values |
| by separating them with commas. |
| |
| E.g., the following message is changed from: |
| |
| recvmsg bug 2: copied 73BCB6CD seq 70F17CBE rcvnxt 73BCB9AA fl 0 |
| WARNING: CPU: 2 PID: 1501 at /linux/net/ipv4/tcp.c:1881 tcp_recvmsg+0x649/0xb90 |
| |
| to: |
| |
| TCP recvmsg seq # bug 2: copied 73BCB6CD, seq 70F17CBE, rcvnxt 73BCB9AA, fl 0 |
| WARNING: CPU: 2 PID: 1501 at /linux/net/ipv4/tcp.c:2011 tcp_recvmsg+0x694/0xba0 |
| |
| Suggested-by: 積丹尼 Dan Jacobson <jidanni@jidanni.org> |
| Signed-off-by: Randy Dunlap <rdunlap@infradead.org> |
| Signed-off-by: Eric Dumazet <edumazet@google.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| net/ipv4/tcp.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/net/ipv4/tcp.c |
| +++ b/net/ipv4/tcp.c |
| @@ -1696,7 +1696,7 @@ int tcp_recvmsg(struct sock *sk, struct |
| * shouldn't happen. |
| */ |
| if (WARN(before(*seq, TCP_SKB_CB(skb)->seq), |
| - "recvmsg bug: copied %X seq %X rcvnxt %X fl %X\n", |
| + "TCP recvmsg seq # bug: copied %X, seq %X, rcvnxt %X, fl %X\n", |
| *seq, TCP_SKB_CB(skb)->seq, tp->rcv_nxt, |
| flags)) |
| break; |
| @@ -1711,7 +1711,7 @@ int tcp_recvmsg(struct sock *sk, struct |
| if (TCP_SKB_CB(skb)->tcp_flags & TCPHDR_FIN) |
| goto found_fin_ok; |
| WARN(!(flags & MSG_PEEK), |
| - "recvmsg bug 2: copied %X seq %X rcvnxt %X fl %X\n", |
| + "TCP recvmsg seq # bug 2: copied %X, seq %X, rcvnxt %X, fl %X\n", |
| *seq, TCP_SKB_CB(skb)->seq, tp->rcv_nxt, flags); |
| } |
| |