From: Jesper Juhl <jesper.juhl@gmail.com>
Date: Mon, 15 Oct 2007 08:39:12 +0000 (-0700)
Subject: [NETLINK]: Don't leak 'listeners' in netlink_kernel_create()
X-Git-Tag: v2.6.24-rc1~1277^2~27
X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=f937f1f46b6d2f9bef94e0d6b769a4c67615d34e;p=linux-2.6-omap-h63xx.git

[NETLINK]: Don't leak 'listeners' in netlink_kernel_create()

The Coverity checker spotted that we'll leak the storage allocated
to 'listeners' in netlink_kernel_create() when the
  if (!nl_table[unit].registered)
check is false.

This patch avoids the leak.

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
---

diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
index c776bcd9f82..98e313e5e59 100644
--- a/net/netlink/af_netlink.c
+++ b/net/netlink/af_netlink.c
@@ -1378,6 +1378,8 @@ netlink_kernel_create(struct net *net, int unit, unsigned int groups,
 		nl_table[unit].cb_mutex = cb_mutex;
 		nl_table[unit].module = module;
 		nl_table[unit].registered = 1;
+	} else {
+		kfree(listeners);
 	}
 	netlink_table_ungrab();