rds: fix a leak of kernel memory

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>
This commit is contained in:
Eric Dumazet 2010-08-16 03:25:00 +00:00 committed by David S. Miller
parent 68d6ac6d27
commit f037590fff

View File

@ -297,7 +297,7 @@ static int rds_still_queued(struct rds_sock *rs, struct rds_incoming *inc,
int rds_notify_queue_get(struct rds_sock *rs, struct msghdr *msghdr) int rds_notify_queue_get(struct rds_sock *rs, struct msghdr *msghdr)
{ {
struct rds_notifier *notifier; 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 int count = 0, max_messages = ~0U;
unsigned long flags; unsigned long flags;
LIST_HEAD(copy); LIST_HEAD(copy);