Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

p54: fix oops caused by bad eeproms

This patch fixes a bug that could occur, if it the eeprom is incomplete or partly corrupted.

BUG: unable to handle kernel NULL pointer dereference at 00000008
IP: p54_assign_address+0x108/0x15d [p54common]
Oops: 0002 [#1] SMP
Pid: 12988, comm: phy1 Tainted: P W 2.6.28-rc6-wl #3
RIP: 0010: p54_assign_address+0x108/0x15d [p54common]
[...]
Call Trace:
p54_alloc_skb+0xa3/0xc0 [p54common]
p54_scan+0x37/0x204 [p54common]
[...]

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

authored by

Christian Lamparter and committed by
John W. Linville
ef15aa49 a58c891a

+1 -1
+1 -1
drivers/net/wireless/p54/p54common.c
··· 1610 1610 1611 1611 err: 1612 1612 printk(KERN_ERR "%s: frequency change failed\n", wiphy_name(dev->wiphy)); 1613 - kfree_skb(skb); 1613 + p54_free_skb(dev, skb); 1614 1614 return -EINVAL; 1615 1615 } 1616 1616