aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/sysctl_net_ipv4.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv4/sysctl_net_ipv4.c')
-rw-r--r--net/ipv4/sysctl_net_ipv4.c38
1 files changed, 18 insertions, 20 deletions
diff --git a/net/ipv4/sysctl_net_ipv4.c b/net/ipv4/sysctl_net_ipv4.c
index d84400b65049..960fd29d9b8e 100644
--- a/net/ipv4/sysctl_net_ipv4.c
+++ b/net/ipv4/sysctl_net_ipv4.c
@@ -27,6 +27,7 @@
27#include <net/tcp_memcontrol.h> 27#include <net/tcp_memcontrol.h>
28 28
29static int zero; 29static int zero;
30static int one = 1;
30static int two = 2; 31static int two = 2;
31static int tcp_retr1_max = 255; 32static int tcp_retr1_max = 255;
32static int ip_local_port_range_min[] = { 1, 1 }; 33static int ip_local_port_range_min[] = { 1, 1 };
@@ -232,8 +233,8 @@ static int ipv4_tcp_mem(ctl_table *ctl, int write,
232 return 0; 233 return 0;
233} 234}
234 235
235int proc_tcp_fastopen_key(ctl_table *ctl, int write, void __user *buffer, 236static int proc_tcp_fastopen_key(ctl_table *ctl, int write, void __user *buffer,
236 size_t *lenp, loff_t *ppos) 237 size_t *lenp, loff_t *ppos)
237{ 238{
238 ctl_table tbl = { .maxlen = (TCP_FASTOPEN_KEY_LENGTH * 2 + 10) }; 239 ctl_table tbl = { .maxlen = (TCP_FASTOPEN_KEY_LENGTH * 2 + 10) };
239 struct tcp_fastopen_context *ctxt; 240 struct tcp_fastopen_context *ctxt;
@@ -538,13 +539,6 @@ static struct ctl_table ipv4_table[] = {
538 .proc_handler = proc_dointvec 539 .proc_handler = proc_dointvec
539 }, 540 },
540 { 541 {
541 .procname = "tcp_ecn",
542 .data = &sysctl_tcp_ecn,
543 .maxlen = sizeof(int),
544 .mode = 0644,
545 .proc_handler = proc_dointvec
546 },
547 {
548 .procname = "tcp_dsack", 542 .procname = "tcp_dsack",
549 .data = &sysctl_tcp_dsack, 543 .data = &sysctl_tcp_dsack,
550 .maxlen = sizeof(int), 544 .maxlen = sizeof(int),
@@ -556,14 +550,16 @@ static struct ctl_table ipv4_table[] = {
556 .data = &sysctl_tcp_wmem, 550 .data = &sysctl_tcp_wmem,
557 .maxlen = sizeof(sysctl_tcp_wmem), 551 .maxlen = sizeof(sysctl_tcp_wmem),
558 .mode = 0644, 552 .mode = 0644,
559 .proc_handler = proc_dointvec 553 .proc_handler = proc_dointvec_minmax,
554 .extra1 = &one,
560 }, 555 },
561 { 556 {
562 .procname = "tcp_rmem", 557 .procname = "tcp_rmem",
563 .data = &sysctl_tcp_rmem, 558 .data = &sysctl_tcp_rmem,
564 .maxlen = sizeof(sysctl_tcp_rmem), 559 .maxlen = sizeof(sysctl_tcp_rmem),
565 .mode = 0644, 560 .mode = 0644,
566 .proc_handler = proc_dointvec 561 .proc_handler = proc_dointvec_minmax,
562 .extra1 = &one,
567 }, 563 },
568 { 564 {
569 .procname = "tcp_app_win", 565 .procname = "tcp_app_win",
@@ -637,13 +633,6 @@ static struct ctl_table ipv4_table[] = {
637 .proc_handler = proc_tcp_congestion_control, 633 .proc_handler = proc_tcp_congestion_control,
638 }, 634 },
639 { 635 {
640 .procname = "tcp_abc",
641 .data = &sysctl_tcp_abc,
642 .maxlen = sizeof(int),
643 .mode = 0644,
644 .proc_handler = proc_dointvec,
645 },
646 {
647 .procname = "tcp_mtu_probing", 636 .procname = "tcp_mtu_probing",
648 .data = &sysctl_tcp_mtu_probing, 637 .data = &sysctl_tcp_mtu_probing,
649 .maxlen = sizeof(int), 638 .maxlen = sizeof(int),
@@ -786,7 +775,7 @@ static struct ctl_table ipv4_table[] = {
786 .maxlen = sizeof(sysctl_udp_rmem_min), 775 .maxlen = sizeof(sysctl_udp_rmem_min),
787 .mode = 0644, 776 .mode = 0644,
788 .proc_handler = proc_dointvec_minmax, 777 .proc_handler = proc_dointvec_minmax,
789 .extra1 = &zero 778 .extra1 = &one
790 }, 779 },
791 { 780 {
792 .procname = "udp_wmem_min", 781 .procname = "udp_wmem_min",
@@ -794,7 +783,7 @@ static struct ctl_table ipv4_table[] = {
794 .maxlen = sizeof(sysctl_udp_wmem_min), 783 .maxlen = sizeof(sysctl_udp_wmem_min),
795 .mode = 0644, 784 .mode = 0644,
796 .proc_handler = proc_dointvec_minmax, 785 .proc_handler = proc_dointvec_minmax,
797 .extra1 = &zero 786 .extra1 = &one
798 }, 787 },
799 { } 788 { }
800}; 789};
@@ -850,6 +839,13 @@ static struct ctl_table ipv4_net_table[] = {
850 .proc_handler = ipv4_ping_group_range, 839 .proc_handler = ipv4_ping_group_range,
851 }, 840 },
852 { 841 {
842 .procname = "tcp_ecn",
843 .data = &init_net.ipv4.sysctl_tcp_ecn,
844 .maxlen = sizeof(int),
845 .mode = 0644,
846 .proc_handler = proc_dointvec
847 },
848 {
853 .procname = "tcp_mem", 849 .procname = "tcp_mem",
854 .maxlen = sizeof(init_net.ipv4.sysctl_tcp_mem), 850 .maxlen = sizeof(init_net.ipv4.sysctl_tcp_mem),
855 .mode = 0644, 851 .mode = 0644,
@@ -882,6 +878,8 @@ static __net_init int ipv4_sysctl_init_net(struct net *net)
882 &net->ipv4.sysctl_icmp_ratemask; 878 &net->ipv4.sysctl_icmp_ratemask;
883 table[6].data = 879 table[6].data =
884 &net->ipv4.sysctl_ping_group_range; 880 &net->ipv4.sysctl_ping_group_range;
881 table[7].data =
882 &net->ipv4.sysctl_tcp_ecn;
885 883
886 /* Don't export sysctls to unprivileged users */ 884 /* Don't export sysctls to unprivileged users */
887 if (net->user_ns != &init_user_ns) 885 if (net->user_ns != &init_user_ns)