From: Andi Kleen Date: Mon, 30 Sep 2013 20:29:11 +0000 (-0700) Subject: tcp: Always set options to 0 before calling tcp_established_options X-Git-Tag: accepted/tizen/common/20141203.182822~1266^2~79 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5843ef421311c34f06d5ab82bced5aebfe185b2c;p=platform%2Fkernel%2Flinux-arm64.git tcp: Always set options to 0 before calling tcp_established_options tcp_established_options assumes opts->options is 0 before calling, as it read modify writes it. For the tcp_current_mss() case the opts structure is not zeroed, so this can be done with uninitialized values. This is ok, because ->options is not read in this path. But it's still better to avoid the operation on the uninitialized field. This shuts up a static code analyzer, and presumably may help the optimizer. Cc: netdev@vger.kernel.org Signed-off-by: Andi Kleen Signed-off-by: David S. Miller --- diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index e6bb825..c6f01f2 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c @@ -637,6 +637,8 @@ static unsigned int tcp_established_options(struct sock *sk, struct sk_buff *skb unsigned int size = 0; unsigned int eff_sacks; + opts->options = 0; + #ifdef CONFIG_TCP_MD5SIG *md5 = tp->af_specific->md5_lookup(sk, sk); if (unlikely(*md5)) {