[PATCH] netconsole: avoid null pointer dereference at show_local_mac()

From: Keiichi KII
Date: Fri Feb 15 2008 - 04:46:25 EST


From: Keiichi KII <k-keiichi@xxxxxxxxxxxxx>

This patch avoids a null pointer dereference when we read local_mac
for netconsole in configfs and shows default local mac address
value.

A null pointer dereference occurs when we call show_local_mac() via
local_mac entry in configfs before we setup the content of netpoll
using netpoll_setup().

This patch is for 2.6.25-rc1.
Your comments are very welcome.

Signed-off-by: Keiichi KII <k-keiichi@xxxxxxxxxxxxx>
---
Index: pre-release/drivers/net/netconsole.c
===================================================================
--- pre-release.orig/drivers/net/netconsole.c
+++ pre-release/drivers/net/netconsole.c
@@ -309,8 +309,8 @@ static ssize_t show_local_mac(struct net
struct net_device *dev = nt->np.dev;

DECLARE_MAC_BUF(mac);
- return snprintf(buf, PAGE_SIZE, "%s\n",
- print_mac(mac, dev->dev_addr));
+ return snprintf(buf, PAGE_SIZE, "%s\n", dev ?
+ print_mac(mac, dev->dev_addr) : "ff:ff:ff:ff:ff:ff");
}

static ssize_t show_remote_mac(struct netconsole_target *nt, char *buf)

--
Keiichi KII
NEC Corporation OSS Platform Development Division
E-mail: k-keiichi@xxxxxxxxxxxxx

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/