Re: [RFC PATCH] x86 alternatives : fix LOCK_PREFIX race with preemptiblekernel and CPU hotplug

From: Jeremy Fitzhardinge
Date: Wed Aug 13 2008 - 21:23:00 EST


H. Peter Anvin wrote:
I believe this should be okay. In 32-bit mode some of the security and hypervisor frameworks want to set segment limits, but I don't believe they ever would set DS and SS inconsistently, or that we'd handle a #GP versus an #SS differently (segment violations on the stack segment are #SS, not #GP.) To be 100% sure we'd have to pick apart the modr/m byte to figure out what the base register is but I think that's total overkill.

The kernel sets ds and ss to the same selector, so they're always going to have the same underlying descriptor.

My only concern is whether there are any locked instructions which are explicitly using a cs: override for those odd corners of the kernel. I don't think so.

That said, I wonder how useful it is to do the SMP->UP code transition. How often does a kernel go from being SMP to UP in a situation where we really care about the performance? And that won't be shortly be becoming SMP again anyway?

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