]> git.hungrycats.org Git - linux/commitdiff
net: llc: use correct size for sysctl timeout entries
authorSasha Levin <sasha.levin@oracle.com>
Sat, 24 Jan 2015 01:47:00 +0000 (20:47 -0500)
committerWilly Tarreau <w@1wt.eu>
Sun, 24 May 2015 08:10:43 +0000 (10:10 +0200)
commit 6b8d9117ccb4f81b1244aafa7bc70ef8fa45fc49 upstream.

The timeout entries are sizeof(int) rather than sizeof(long), which
means that when they were getting read we'd also leak kernel memory
to userspace along with the timeout values.

Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
(cherry picked from commit 88fe14be08a475ad0eea4ca7c51f32437baf41af)

Signed-off-by: Willy Tarreau <w@1wt.eu>
net/llc/sysctl_net_llc.c

index 57b9304d444c115d2e6ef00c17c1f25d41b0f50d..cd78b3a03a9a56dab3a4bfa79c096c985bd4e0e5 100644 (file)
@@ -18,7 +18,7 @@ static struct ctl_table llc2_timeout_table[] = {
                .ctl_name       = NET_LLC2_ACK_TIMEOUT,
                .procname       = "ack",
                .data           = &sysctl_llc2_ack_timeout,
-               .maxlen         = sizeof(long),
+               .maxlen         = sizeof(sysctl_llc2_ack_timeout),
                .mode           = 0644,
                .proc_handler   = proc_dointvec_jiffies,
                .strategy       = sysctl_jiffies,
@@ -27,7 +27,7 @@ static struct ctl_table llc2_timeout_table[] = {
                .ctl_name       = NET_LLC2_BUSY_TIMEOUT,
                .procname       = "busy",
                .data           = &sysctl_llc2_busy_timeout,
-               .maxlen         = sizeof(long),
+               .maxlen         = sizeof(sysctl_llc2_busy_timeout),
                .mode           = 0644,
                .proc_handler   = proc_dointvec_jiffies,
                .strategy       = sysctl_jiffies,
@@ -36,7 +36,7 @@ static struct ctl_table llc2_timeout_table[] = {
                .ctl_name       = NET_LLC2_P_TIMEOUT,
                .procname       = "p",
                .data           = &sysctl_llc2_p_timeout,
-               .maxlen         = sizeof(long),
+               .maxlen         = sizeof(sysctl_llc2_p_timeout),
                .mode           = 0644,
                .proc_handler   = proc_dointvec_jiffies,
                .strategy       = sysctl_jiffies,
@@ -45,7 +45,7 @@ static struct ctl_table llc2_timeout_table[] = {
                .ctl_name       = NET_LLC2_REJ_TIMEOUT,
                .procname       = "rej",
                .data           = &sysctl_llc2_rej_timeout,
-               .maxlen         = sizeof(long),
+               .maxlen         = sizeof(sysctl_llc2_rej_timeout),
                .mode           = 0644,
                .proc_handler   = proc_dointvec_jiffies,
                .strategy       = sysctl_jiffies,