Browse Source

net: rds: use correct size for max unacked packets and bytes

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>
Sasha Levin 10 years ago
parent
commit
db27ebb111
1 changed files with 2 additions and 2 deletions
  1. 2 2
      net/rds/sysctl.c

+ 2 - 2
net/rds/sysctl.c

@@ -71,14 +71,14 @@ static struct ctl_table rds_sysctl_rds_table[] = {
 	{
 	{
 		.procname	= "max_unacked_packets",
 		.procname	= "max_unacked_packets",
 		.data		= &rds_sysctl_max_unacked_packets,
 		.data		= &rds_sysctl_max_unacked_packets,
-		.maxlen         = sizeof(unsigned long),
+		.maxlen         = sizeof(int),
 		.mode           = 0644,
 		.mode           = 0644,
 		.proc_handler   = proc_dointvec,
 		.proc_handler   = proc_dointvec,
 	},
 	},
 	{
 	{
 		.procname	= "max_unacked_bytes",
 		.procname	= "max_unacked_bytes",
 		.data		= &rds_sysctl_max_unacked_bytes,
 		.data		= &rds_sysctl_max_unacked_bytes,
-		.maxlen         = sizeof(unsigned long),
+		.maxlen         = sizeof(int),
 		.mode           = 0644,
 		.mode           = 0644,
 		.proc_handler   = proc_dointvec,
 		.proc_handler   = proc_dointvec,
 	},
 	},