From: Chuck E. <ce...@re...> - 2007-06-12 18:40:40
|
On 06/12/2007 11:02 AM, Stephane Eranian wrote: > * allocate_msrs() allocates two tables per CPU. One for the > counters, the other for the eventsel registers. But then > nmi_setup() copies the cpu_msrs[0] into cpu_msrs[] of all > other cpus. This operation overrides the cpu_msrs[].counters > and cpu_msrs[].controls pointers for all CPUs but CPU0. > But free_msrs() will free the same tables multiple times. This > causes a kernel dump when you enable certain kernel debugging > features. The fix is to copy the content of the counters and > controls array, not the pointers. > How old is the kernel you are looking at? http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0939c17c7bcf1c838bea4445b80a6966809a438f ...fixed this over 10 days ago. |