Oops in netxen driver, kernel 2.6.20.10
Subsystems (2)
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=240190
drivers/net/netxen/netxen_nic_init.c:
if (ADDR_IN_WINDOW1(off)) {
writel(buf[i].data,
NETXEN_CRB_NORMALIZE(adapter, off));
} else {
netxen_nic_pci_change_crbwindow(adapter, 0);
Line 566 ==> writel(buf[i].data,
pci_base_offset(adapter, off));
netxen_nic_pci_change_crbwindow(adapter, 1);
}pci_base_offset() returned NULL and the result was not checked, causing NULL dereference.
offset is in RBX (== 0x0000000105ffffff) and is out of the expected range.