diff options
Diffstat (limited to 'net/ipv4/af_inet.c')
-rw-r--r-- | net/ipv4/af_inet.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c index aae410bb655a..28fe8da4e1ac 100644 --- a/net/ipv4/af_inet.c +++ b/net/ipv4/af_inet.c | |||
@@ -479,7 +479,7 @@ int inet_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len) | |||
479 | 479 | ||
480 | snum = ntohs(addr->sin_port); | 480 | snum = ntohs(addr->sin_port); |
481 | err = -EACCES; | 481 | err = -EACCES; |
482 | if (snum && snum < PROT_SOCK && | 482 | if (snum && snum < inet_prot_sock(net) && |
483 | !ns_capable(net->user_ns, CAP_NET_BIND_SERVICE)) | 483 | !ns_capable(net->user_ns, CAP_NET_BIND_SERVICE)) |
484 | goto out; | 484 | goto out; |
485 | 485 | ||
@@ -1700,6 +1700,9 @@ static __net_init int inet_init_net(struct net *net) | |||
1700 | net->ipv4.sysctl_ip_default_ttl = IPDEFTTL; | 1700 | net->ipv4.sysctl_ip_default_ttl = IPDEFTTL; |
1701 | net->ipv4.sysctl_ip_dynaddr = 0; | 1701 | net->ipv4.sysctl_ip_dynaddr = 0; |
1702 | net->ipv4.sysctl_ip_early_demux = 1; | 1702 | net->ipv4.sysctl_ip_early_demux = 1; |
1703 | #ifdef CONFIG_SYSCTL | ||
1704 | net->ipv4.sysctl_ip_prot_sock = PROT_SOCK; | ||
1705 | #endif | ||
1703 | 1706 | ||
1704 | return 0; | 1707 | return 0; |
1705 | } | 1708 | } |