X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=net%2Fsocket.c;h=7651de0085028dc4d02b15e5844e239dd938d01e;hb=4e20cb293cc0b30f32a53011fd6b38493d9fdcaa;hp=9ebca5c695d626c4ad68a527063fcf8cf3ecbc91;hpb=8d8ad9d7c4bfe79bc91b7fc419ecfb9dcdfe6a51;p=linux-2.6 diff --git a/net/socket.c b/net/socket.c index 9ebca5c695..7651de0085 100644 --- a/net/socket.c +++ b/net/socket.c @@ -1365,17 +1365,17 @@ asmlinkage long sys_bind(int fd, struct sockaddr __user *umyaddr, int addrlen) * ready for listening. */ -int sysctl_somaxconn __read_mostly = SOMAXCONN; - asmlinkage long sys_listen(int fd, int backlog) { struct socket *sock; int err, fput_needed; + int somaxconn; sock = sockfd_lookup_light(fd, &err, &fput_needed); if (sock) { - if ((unsigned)backlog > sysctl_somaxconn) - backlog = sysctl_somaxconn; + somaxconn = sock->sk->sk_net->sysctl_somaxconn; + if ((unsigned)backlog > somaxconn) + backlog = somaxconn; err = security_socket_listen(sock, backlog); if (!err)