diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2011-07-24 09:46:08 +0000 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2011-09-12 19:28:29 +0200 |
commit | 05b217b021e003d60471eb419d0ceed84d06c5db (patch) | |
tree | 755680655b957335eba7edba961ca86c0838f3a1 /arch/x86/kernel | |
parent | 5cdd174feab1b4a74afc494c447906274aed4a20 (diff) | |
download | linux-stable-05b217b021e003d60471eb419d0ceed84d06c5db.tar.gz linux-stable-05b217b021e003d60471eb419d0ceed84d06c5db.tar.bz2 linux-stable-05b217b021e003d60471eb419d0ceed84d06c5db.zip |
x86: cache_info: Remove bogus free of amd_l3_cache data
free_cache_attributes() kfree's:
per_cpu(ici_cpuid4_info, cpu)->l3
which is a pointer to memory which was allocated as a block in
amd_init_l3_cache(). l3 of a particular cpu points to a part of this
memory blob. The part and the rest of the blob are still referenced by
other cpus.
As far as I can tell from the git history this is a leftover from the
conversion from per cpu to node data with commit ba06edb63(x86,
cacheinfo: Make L3 cache info per node) and the following commit
f658bcfb2(x86, cacheinfo: Cleanup L3 cache index disable support)
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Hans Rosenfeld <hans.rosenfeld@amd.com>
Cc: Borislav Petkov <borislav.petkov@amd.com>
Cc: Andreas Herrmann <andreas.herrmann3@amd.com>
Cc: Mike Travis <travis@sgi.com>
Link: http://lkml.kernel.org/r/20110723212626.550539989@linutronix.de
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r-- | arch/x86/kernel/cpu/intel_cacheinfo.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/arch/x86/kernel/cpu/intel_cacheinfo.c b/arch/x86/kernel/cpu/intel_cacheinfo.c index c105c533ed94..aa27c38fa98d 100644 --- a/arch/x86/kernel/cpu/intel_cacheinfo.c +++ b/arch/x86/kernel/cpu/intel_cacheinfo.c @@ -820,7 +820,6 @@ static void __cpuinit free_cache_attributes(unsigned int cpu) for (i = 0; i < num_cache_leaves; i++) cache_remove_shared_cpu_map(cpu, i); - kfree(per_cpu(ici_cpuid4_info, cpu)->l3); kfree(per_cpu(ici_cpuid4_info, cpu)); per_cpu(ici_cpuid4_info, cpu) = NULL; } |