Re: [PATCH] x86_64: remove wrong setting about CONSTANT_TSC forintel cpu

From: Ingo Molnar
Date: Tue Feb 26 2008 - 02:35:23 EST



* Yinghai Lu <yhlu.kernel@xxxxxxxxx> wrote:

> > #define set_cpu_cap(c, bit) set_bit(bit, (unsigned long *)((c)->x86_capability)
> >
> > which is the same. set_cpu_cap() is indeed the cleaner form to do this
> > so your patch is correct as a cleanup.
> set_cpu_cap is right
> ==
> set_bit(X86_FEATURE_CONSTANT_TSC, &c->x86_capability); ===> is wrong
> should be
> set_bit(X86_FEATURE_CONSTANT_TSC, c->x86_capability);
>
> x86_capability is a array ...
>
> so this could prevent some data corruption.

ah, right you are! The commit was done in a sloppy, incomplete way,
leaving around lots of direct c->x86_capability references and giving
room for this bug ...

Btw., there's one other place that has the same bug. I'll fix that up
too.

Ingo
--
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/