diff options
author | Vijay Subramanian <subramanian.vijay@gmail.com> | 2013-09-03 15:23:22 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-09-04 00:27:28 -0400 |
commit | c995ae2259ee36caf48bbfacf40111998dacd4af (patch) | |
tree | dbe9be79766ab1c2a4f9da7ae461bd6ceab6bc9f /net/ipv4/tcp_input.c | |
parent | cc8c6c1b21c9b1e0f1e89428c07c7c52435cba0c (diff) |
tcp: Change return value of tcp_rcv_established()
tcp_rcv_established() returns only one value namely 0. We change the return
value to void (as suggested by David Miller).
After commit 0c24604b (tcp: implement RFC 5961 4.2), we no longer send RSTs in
response to SYNs. We can remove the check and processing on the return value of
tcp_rcv_established().
We also fix jtcp_rcv_established() in tcp_probe.c to match that of
tcp_rcv_established().
Signed-off-by: Vijay Subramanian <subramanian.vijay@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/tcp_input.c')
-rw-r--r-- | net/ipv4/tcp_input.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 1a84fffe6993..93d7e9de4143 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c | |||
@@ -5049,8 +5049,8 @@ discard: | |||
5049 | * the rest is checked inline. Fast processing is turned on in | 5049 | * the rest is checked inline. Fast processing is turned on in |
5050 | * tcp_data_queue when everything is OK. | 5050 | * tcp_data_queue when everything is OK. |
5051 | */ | 5051 | */ |
5052 | int tcp_rcv_established(struct sock *sk, struct sk_buff *skb, | 5052 | void tcp_rcv_established(struct sock *sk, struct sk_buff *skb, |
5053 | const struct tcphdr *th, unsigned int len) | 5053 | const struct tcphdr *th, unsigned int len) |
5054 | { | 5054 | { |
5055 | struct tcp_sock *tp = tcp_sk(sk); | 5055 | struct tcp_sock *tp = tcp_sk(sk); |
5056 | 5056 | ||
@@ -5127,7 +5127,7 @@ int tcp_rcv_established(struct sock *sk, struct sk_buff *skb, | |||
5127 | tcp_ack(sk, skb, 0); | 5127 | tcp_ack(sk, skb, 0); |
5128 | __kfree_skb(skb); | 5128 | __kfree_skb(skb); |
5129 | tcp_data_snd_check(sk); | 5129 | tcp_data_snd_check(sk); |
5130 | return 0; | 5130 | return; |
5131 | } else { /* Header too small */ | 5131 | } else { /* Header too small */ |
5132 | TCP_INC_STATS_BH(sock_net(sk), TCP_MIB_INERRS); | 5132 | TCP_INC_STATS_BH(sock_net(sk), TCP_MIB_INERRS); |
5133 | goto discard; | 5133 | goto discard; |
@@ -5220,7 +5220,7 @@ no_ack: | |||
5220 | if (eaten) | 5220 | if (eaten) |
5221 | kfree_skb_partial(skb, fragstolen); | 5221 | kfree_skb_partial(skb, fragstolen); |
5222 | sk->sk_data_ready(sk, 0); | 5222 | sk->sk_data_ready(sk, 0); |
5223 | return 0; | 5223 | return; |
5224 | } | 5224 | } |
5225 | } | 5225 | } |
5226 | 5226 | ||
@@ -5236,7 +5236,7 @@ slow_path: | |||
5236 | */ | 5236 | */ |
5237 | 5237 | ||
5238 | if (!tcp_validate_incoming(sk, skb, th, 1)) | 5238 | if (!tcp_validate_incoming(sk, skb, th, 1)) |
5239 | return 0; | 5239 | return; |
5240 | 5240 | ||
5241 | step5: | 5241 | step5: |
5242 | if (tcp_ack(sk, skb, FLAG_SLOWPATH | FLAG_UPDATE_TS_RECENT) < 0) | 5242 | if (tcp_ack(sk, skb, FLAG_SLOWPATH | FLAG_UPDATE_TS_RECENT) < 0) |
@@ -5252,7 +5252,7 @@ step5: | |||
5252 | 5252 | ||
5253 | tcp_data_snd_check(sk); | 5253 | tcp_data_snd_check(sk); |
5254 | tcp_ack_snd_check(sk); | 5254 | tcp_ack_snd_check(sk); |
5255 | return 0; | 5255 | return; |
5256 | 5256 | ||
5257 | csum_error: | 5257 | csum_error: |
5258 | TCP_INC_STATS_BH(sock_net(sk), TCP_MIB_CSUMERRORS); | 5258 | TCP_INC_STATS_BH(sock_net(sk), TCP_MIB_CSUMERRORS); |
@@ -5260,7 +5260,6 @@ csum_error: | |||
5260 | 5260 | ||
5261 | discard: | 5261 | discard: |
5262 | __kfree_skb(skb); | 5262 | __kfree_skb(skb); |
5263 | return 0; | ||
5264 | } | 5263 | } |
5265 | EXPORT_SYMBOL(tcp_rcv_established); | 5264 | EXPORT_SYMBOL(tcp_rcv_established); |
5266 | 5265 | ||