sunrpc: Prevent resvport min/max inversion via sysctl
authorFrank Sorenson <sorenson@redhat.com>
Fri, 8 Jul 2016 21:35:24 +0000 (16:35 -0500)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Tue, 19 Jul 2016 20:23:27 +0000 (16:23 -0400)
The current min/max resvport settings are independently limited
by the entire range of allowed ports, so max_resvport can be
set to a port lower than min_resvport.

Prevent inversion of min/max values when set through sysctl by
setting the limits dependent on each other.

Signed-off-by: Frank Sorenson <sorenson@redhat.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
net/sunrpc/xprtsock.c

index 1adda71f4e3a24172954b650fa4c7a6d697f8609..2674309770f455c85f7a89c8edacf95e77519c9b 100644 (file)
@@ -124,7 +124,7 @@ static struct ctl_table xs_tunables_table[] = {
                .mode           = 0644,
                .proc_handler   = proc_dointvec_minmax,
                .extra1         = &xprt_min_resvport_limit,
-               .extra2         = &xprt_max_resvport_limit
+               .extra2         = &xprt_max_resvport
        },
        {
                .procname       = "max_resvport",
@@ -132,7 +132,7 @@ static struct ctl_table xs_tunables_table[] = {
                .maxlen         = sizeof(unsigned int),
                .mode           = 0644,
                .proc_handler   = proc_dointvec_minmax,
-               .extra1         = &xprt_min_resvport_limit,
+               .extra1         = &xprt_min_resvport,
                .extra2         = &xprt_max_resvport_limit
        },
        {