On Tue, May 01, 2012 at 05:00:41PM -0400, Kirill A. Shutemov wrote: > On Tue, May 01, 2012 at 08:20:14AM -0700, Guenter Roeck wrote: > > On Mon, Apr 30, 2012 at 09:18:01AM -0400, Kirill A. Shutemov wrote: > > > From: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> > > > > > > coretemp tries to access core_data array beyond bounds on cpu unplug if > > > core id of the cpu if more than NUM_REAL_CORES-1. > > > > > [ ... ] > > > > > > Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> > > > > Looking at it again, you were right. Adding the check to get_core_online() > > doesn't really help as the platform device is per CPU, not per core. > > > > Applied. I'll submit a separate patch to increase NUM_REAL_CORES. > > Actually, the problem is bigger. > > Documentation/cputopology.txt: > ==== > 2) /sys/devices/system/cpu/cpuX/topology/core_id: > > the CPU core ID of cpuX. Typically it is the hardware platform's > identifier (rather than the kernel's). The actual value is > architecture and platform dependent. > ==== > > We should not use core id as an index in an array since it's an arbitrary > number (from kernel POV). > Yes, we know we'll need a better fix going forward. Using a fixed size array is bad, no matter what context. Thanks, Guenter _______________________________________________ lm-sensors mailing list lm-sensors@xxxxxxxxxxxxxx http://lists.lm-sensors.org/mailman/listinfo/lm-sensors