Re: [PATCH] for_each_possible_cpu [1/19] definesfor_each_possible_cpu

From: KAMEZAWA Hiroyuki
Date: Wed Mar 15 2006 - 23:16:45 EST


On Thu, 16 Mar 2006 14:43:38 +1100
Nick Piggin <nickpiggin@xxxxxxxxxxxx> wrote:

> The only places where things might care is arch bootup code, but
> the cpu interface is such that the arch code is expected to _hide_
> any weird details from these generic interfaces.
>
Please see i386 patch. it contains BUG fix.
cpu_msrs[i].coutners are allocated by for_each_online_cpu().
and free it by for_each_possible_cpus() without no pointer check.

I think this kind of confusion will be seen again in future.
--Kame
--
static void free_msrs(void)
{
int i;
- for_each_cpu(i) {
- kfree(cpu_msrs[i].counters);
+ for_each_possible_cpu(i) {
+ if (cpu_msrs[i].counters)
+ kfree(cpu_msrs[i].counters);
cpu_msrs[i].counters = NULL;
- kfree(cpu_msrs[i].controls);
+ if (cpu_msrs[i].controls)
+ kfree(cpu_msrs[i].controls);
cpu_msrs[i].controls = NULL;
}
}
--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/