netconsole: avoid null pointer dereference at show_local_mac()
authorKeiichi KII <k-keiichi@bx.jp.nec.com>
Fri, 15 Feb 2008 10:01:58 +0000 (02:01 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 15 Feb 2008 10:01:58 +0000 (02:01 -0800)
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().

Signed-off-by: Keiichi KII <k-keiichi@bx.jp.nec.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/netconsole.c

index 31e047dd7bb349d7e38d394c02e6a041f6ee29df..501e451be9110eb458e144ab12acc982101fd3b3 100644 (file)
@@ -309,8 +309,8 @@ static ssize_t show_local_mac(struct netconsole_target *nt, char *buf)
        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)