| From 31199048693cdc7720cfb86429ffa9b5d3bfa671 Mon Sep 17 00:00:00 2001 |
| From: Eric Dumazet <eric.dumazet@gmail.com> |
| Date: Mon, 16 Aug 2010 03:25:00 +0000 |
| Subject: rds: fix a leak of kernel memory |
| |
| |
| From: Eric Dumazet <eric.dumazet@gmail.com> |
| |
| [ Upstream commit f037590fff3005ce8a1513858d7d44f50053cc8f ] |
| |
| struct rds_rdma_notify contains a 32 bits hole on 64bit arches, |
| make sure it is zeroed before copying it to user. |
| |
| Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> |
| CC: Andy Grover <andy.grover@oracle.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| --- |
| net/rds/recv.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/net/rds/recv.c |
| +++ b/net/rds/recv.c |
| @@ -296,7 +296,7 @@ static int rds_still_queued(struct rds_s |
| int rds_notify_queue_get(struct rds_sock *rs, struct msghdr *msghdr) |
| { |
| struct rds_notifier *notifier; |
| - struct rds_rdma_notify cmsg; |
| + struct rds_rdma_notify cmsg = { 0 }; /* fill holes with zero */ |
| unsigned int count = 0, max_messages = ~0U; |
| unsigned long flags; |
| LIST_HEAD(copy); |