On Friday 23 January 2004 00:48, Willy Tarreau wrote: > Hi ! > > On Thu, Jan 22, 2004 at 10:53:37PM +0100, Eduard Roccatello wrote: > > Hello, > > i've done a little cleanup to net/ipv4/tcp.c > > > > I hope it is ok :-) > > I haven't looked at sysctl_max_syn_backlog type, but if it's unsigned, > there's a risk of infinite loop for values above 2^31 on 32 bits > machines, or 2^63 on 64 bits machine. sysctl_max_syn_backlog is an int and max_qlen_log is a u8 (uint8_t). i think there is no problem with them. sysctl_max_syn_backlog max value is 1024 so max_qlen_log is just 9. is it ok for you? > > --- net/ipv4/tcp.c.orig 2004-01-22 22:49:38.000000000 +0100 > > +++ net/ipv4/tcp.c 2004-01-22 22:42:38.000000000 +0100 > > @@ -549,9 +549,9 @@ int tcp_listen_start(struct sock *sk) > > return -ENOMEM; > > > > memset(lopt, 0, sizeof(struct tcp_listen_opt)); > > - for (lopt->max_qlen_log = 6; ; lopt->max_qlen_log++) > > - if ((1 << lopt->max_qlen_log) >= sysctl_max_syn_backlog) > > - break; > > + lopt->max_qlen_log = 6; > > + while (sysctl_max_syn_backlog > (1 << lopt->max_qlen_log)) > > + lopt->max_qlen_log++; > > get_random_bytes(&lopt->hash_rnd, 4); > > > > write_lock_bh(&tp->syn_wait_lock); - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo _at_ vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Follow-Ups:
- Re: [PATCH] net/ipv4/tcp.c little cleanupWilly Tarreau
- [PATCH] net/ipv4/tcp.c little cleanupEduard Roccatello
- Re: [PATCH] net/ipv4/tcp.c little cleanupWilly Tarreau
- Prev by Date: Re: [patch] PCI Express Enhanced Config Patch - 2.6.0-test11
- Next by Date: Re: Linux 2.4.25-pre7
- Previous by thread: Re: [PATCH] net/ipv4/tcp.c little cleanup
- Next by thread: Re: [PATCH] net/ipv4/tcp.c little cleanup
- Indexes:[Main][Thread]