x86: fix paravirt clobber in entry_64.S
authorJeremy Fitzhardinge <jeremy@goop.org>
Wed, 28 Jan 2009 22:35:03 +0000 (14:35 -0800)
committerH. Peter Anvin <hpa@linux.intel.com>
Fri, 30 Jan 2009 22:51:44 +0000 (14:51 -0800)
Impact: Fix latent bug

The clobber is trying to say that anything except RDI is available for
clobbering, but actually clobbers everything.  This hasn't mattered
because the clobbers were basically ignored, but subsequent patches
will rely on them.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
arch/x86/kernel/entry_64.S

index a527038..e4c9710 100644 (file)
@@ -1140,7 +1140,7 @@ ENTRY(native_load_gs_index)
        CFI_STARTPROC
        pushf
        CFI_ADJUST_CFA_OFFSET 8
-       DISABLE_INTERRUPTS(CLBR_ANY | ~(CLBR_RDI))
+       DISABLE_INTERRUPTS(CLBR_ANY & ~CLBR_RDI)
        SWAPGS
 gs_change:
        movl %edi,%gs