summaryrefslogtreecommitdiffstats
path: root/arch/x86/boot/memory.c
diff options
context:
space:
mode:
authorDave Hansen <dave.hansen@linux.intel.com>2015-06-07 11:37:00 -0700
committerIngo Molnar <mingo@kernel.org>2015-06-09 12:24:29 +0200
commit0c4109bec0a6cde471bef3a21cd6f8384a614469 (patch)
treee7bf13898b3442c37998404f52258ac90a81f2ee /arch/x86/boot/memory.c
parent83242c515881cc8642d726c3e648e41bf6c24551 (diff)
downloadtalos-op-linux-0c4109bec0a6cde471bef3a21cd6f8384a614469.tar.gz
talos-op-linux-0c4109bec0a6cde471bef3a21cd6f8384a614469.zip
x86/fpu/xstate: Fix up bad get_xsave_addr() assumptions
get_xsave_addr() assumes that if an xsave bit is present in the hardware (pcntxt_mask) that it is present in a given xsave buffer. Due to an bug in the xsave code on all of the systems that have MPX (and thus all the users of this code), that has been a true assumption. But, the bug is getting fixed, so our assumption is not going to hold any more. It's quite possible (and normal) for an enabled state to be present on 'pcntxt_mask', but *not* in 'xstate_bv'. We need to consult 'xstate_bv'. Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com> Reviewed-by: Thomas Gleixner <tglx@linutronix.de> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Dave Hansen <dave@sr71.net> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/20150607183700.1E739B34@viggo.jf.intel.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/x86/boot/memory.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud