Hi, On Sat, May 30, 2009 at 09:37:57PM +0200, Bartlomiej Zolnierkiewicz wrote: > > next-20090529 oopses in __rdmsr_on_cpu() on my Pentium M laptop. > > .jpg + .config: > http://www.kernel.org/pub/linux/kernel/people/bart/next-20090529-oops.* > > (gdb) l *0xc023410f > 0xc023410f is in __rdmsr_on_cpu (arch/x86/lib/msr.c:25). > 20 if (rv->msrs) > 21 reg = &rv->msrs[this_cpu - rv->off]; > 22 else > 23 reg = &rv->reg; > 24 > 25 rdmsr(rv->msr_no, reg->l, reg->h); > 26 } > 27 > 28 static void __wrmsr_on_cpu(void *info) > 29 { > > Thus the problem seems to be introduced by: > > commit 23d19840368b2787d2da97ad0f0f29248503648a > Author: Borislav Petkov <borislav.petkov@xxxxxxx> > Date: Fri May 22 13:52:19 2009 +0200 > > x86: MSR: add methods for writing of an MSR on several CPUs > ... > > and indeed the following patch fixes it: > > [ Borislav, feel free to fold it into the above change or replace by > a more complete one if needed (there may be more rv fields needing > initialization). ] > > From: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx> > Subject: [PATCH] x86: MSR: fix __rdmsr_on_cpu() OOPS > > {rd,wr}msr_on_cpu() need to explicitly initalize rv.msrs > (since rv is allocated on the stack). > > Cc: Borislav Petkov <borislav.petkov@xxxxxxx> > Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx> Thanks. I went and zeroed out the whole struct so that no stale data sneaks in. I'm still adding your S-O-B to the patch, if you don't mind, that is. -- Regards/Gruss, Boris. Operating | Advanced Micro Devices GmbH System | Karl-Hammerschmidt-Str. 34, 85609 Dornach b. München, Germany Research | Geschäftsführer: Thomas M. McCoy, Giuliano Meroni Center | Sitz: Dornach, Gemeinde Aschheim, Landkreis München (OSRC) | Registergericht München, HRB Nr. 43632 -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html