]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net: rds: use correct size for max unacked packets and bytes
authorSasha Levin <sasha.levin@oracle.com>
Tue, 3 Feb 2015 13:55:58 +0000 (08:55 -0500)
committerWilly Tarreau <w@1wt.eu>
Sun, 24 May 2015 08:10:43 +0000 (10:10 +0200)
commit db27ebb111e9f69efece08e4cb6a34ff980f8896 upstream.

Max unacked packets/bytes is an int while sizeof(long) was used in the
sysctl table.

This 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 3760b67b3e419b9ac42a45417491360a14a35357)

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

index 307dc5c1be153d3326dbd0fb62e4874241fc559a..870e808f1419cd3b8f99bb20c8d55eac9401f796 100644 (file)
@@ -74,7 +74,7 @@ static ctl_table rds_sysctl_rds_table[] = {
                .ctl_name       = CTL_UNNUMBERED,
                .procname       = "max_unacked_packets",
                .data           = &rds_sysctl_max_unacked_packets,
-               .maxlen         = sizeof(unsigned long),
+               .maxlen         = sizeof(int),
                .mode           = 0644,
                .proc_handler   = &proc_dointvec,
        },
@@ -82,7 +82,7 @@ static ctl_table rds_sysctl_rds_table[] = {
                .ctl_name       = CTL_UNNUMBERED,
                .procname       = "max_unacked_bytes",
                .data           = &rds_sysctl_max_unacked_bytes,
-               .maxlen         = sizeof(unsigned long),
+               .maxlen         = sizeof(int),
                .mode           = 0644,
                .proc_handler   = &proc_dointvec,
        },