On Wed, 11 May 2005, Oleg Nesterov wrote:
> > However, if the padding is put before ptype_base and after ptype_all
> > then the problem occurs.
>
> So. ptype_base/ptype_all is corrupted before e1000_probe()->register_netdev().
>
> Christoph, please, could you try this patch?
We found that this has nothing to do with the timer patches. There is a
scribble in pcie_rootport_aspm_quirk that overwrites ptype_all.
quirk_aspm_offset[GET_INDEX(pdev->device, dev->devfn)]= cap_base + 0x10;
does the evil deed. The array offset calculated by GET_INDEX is out of
bounds.
The definition of GET_INDEX is suspect:
#define GET_INDEX(a, b) (((a - PCI_DEVICE_ID_INTEL_MCH_PA) << 3) + b)
should this not be
#define GET_INDEX(a, b) ((((a) - PCI_DEVICE_ID_INTEL_MCH_PA) << 3) + \
((b) & 7))
?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]