Subject: Re: [PATCH 1/1][TCP]: break missing at end of switch statement

From: Gerrit Renker <[email-masked]>
Date: Mon, 1 Oct 2007 18:25:30 +0100

Arnaldo, Al Viro, and Yoshifuji -

sorry for having wasted your time with this one. You are right, that was complete nonsense. 
I don't know where my mind was - even my test program used to `prove' this was screwed up.

So nothing wrong here and thank you very much for your clarifying comments.

|  > |  > --- a/net/ipv4/tcp_input.c
|  > |  > +++ b/net/ipv4/tcp_input.c
|  > |  > @@ -3129,6 +3129,7 @@ static void tcp_reset(struct sock *sk)
|  > |  >  			return;
|  > |  >  		default:
|  > |  >  			sk->sk_err = ECONNRESET;
|  > |  > +			break;
|  > |  >  	}
|  > |  >  
|  > |  >  	if (!sock_flag(sk, SOCK_DEAD))
|  > |  
|  > |  NAK; it is not required at all.
|  > |  
|  > |  --yoshfuji
|  > |  
|  > If it were true what you are saying then the statement 
|  > 
|  >        `sk->sk_err = ECONNRESET;' 
|  > 
|  > can go as well since it will always be overridden.
|  
|  Gerrit,
|  
|          It is not required. The statement you mention will be executed
|  when the sk_state is not one of TCP_SYN_SENT, TCP_CLOSE_WAIT or
|  TCP_CLOSE.
|  
|  	A 'break' is only needed in a label block if it is not the last
|  one.
|  
|  - Arnaldo
|  
|