lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 5 Apr 2007 12:48:44 +0200 From: Andi Kleen <ak@...e.de> To: davem@...emloft.net Cc: netdev@...r.kernel.org Subject: [PATCH] Eliminate some unnecessary gotos in tcp v4 hash handling The compiler eliminates them anyways and this makes the code easier to read and shorter. Signed-off-by: Andi Kleen <ak@...e.de> Index: linux-2.6.21-rc3-net/net/ipv4/tcp_ipv4.c =================================================================== --- linux-2.6.21-rc3-net.orig/net/ipv4/tcp_ipv4.c +++ linux-2.6.21-rc3-net/net/ipv4/tcp_ipv4.c @@ -2052,8 +2052,7 @@ static void *established_get_first(struc if (sk->sk_family != st->family) { continue; } - rc = sk; - goto out; + return sk; } st->state = TCP_SEQ_STATE_TIME_WAIT; inet_twsk_for_each(tw, node, @@ -2061,13 +2060,11 @@ static void *established_get_first(struc if (tw->tw_family != st->family) { continue; } - rc = tw; - goto out; + return tw; } read_unlock(&tcp_hashinfo.ehash[st->bucket].lock); st->state = TCP_SEQ_STATE_ESTABLISHED; } -out: return rc; } @@ -2088,10 +2085,8 @@ get_tw: while (tw && tw->tw_family != st->family) { tw = tw_next(tw); } - if (tw) { - cur = tw; - goto out; - } + if (tw) + return tw; read_unlock(&tcp_hashinfo.ehash[st->bucket].lock); st->state = TCP_SEQ_STATE_ESTABLISHED; @@ -2111,16 +2106,12 @@ get_tw: sk_for_each_from(sk, node) { if (sk->sk_family == st->family) - goto found; + return sk; } st->state = TCP_SEQ_STATE_TIME_WAIT; tw = tw_head(&tcp_hashinfo.ehash[st->bucket].twchain); goto get_tw; -found: - cur = sk; -out: - return cur; } static void *established_get_idx(struct seq_file *seq, loff_t pos) - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists