aboutsummaryrefslogtreecommitdiffstats
path: root/net/switchdev/switchdev.c
diff options
context:
space:
mode:
authorQuentin Casasnovas <[email protected]>2015-03-05 12:19:22 +0000
committerIngo Molnar <[email protected]>2015-03-05 17:20:36 +0000
commit06c8173eb92bbfc03a0fe8bb64315857d0badd06 (patch)
tree73ecc10d3017c9ae7a6403fca3afbf3d7ec12997 /net/switchdev/switchdev.c
parentx86/intel/quark: Select COMMON_CLK (diff)
downloadkernel-06c8173eb92bbfc03a0fe8bb64315857d0badd06.tar.gz
kernel-06c8173eb92bbfc03a0fe8bb64315857d0badd06.zip
x86/fpu/xsaves: Fix improper uses of __ex_table
Commit: f31a9f7c7169 ("x86/xsaves: Use xsaves/xrstors to save and restore xsave area") introduced alternative instructions for XSAVES/XRSTORS and commit: adb9d526e982 ("x86/xsaves: Add xsaves and xrstors support for booting time") added support for the XSAVES/XRSTORS instructions at boot time. Unfortunately both failed to properly protect them against faulting: The 'xstate_fault' macro will use the closest label named '1' backward and that ends up in the .altinstr_replacement section rather than in .text. This means that the kernel will never find in the __ex_table the .text address where this instruction might fault, leading to serious problems if userspace manages to trigger the fault. Signed-off-by: Quentin Casasnovas <[email protected]> Signed-off-by: Jamie Iles <[email protected]> [ Improved the changelog, fixed some whitespace noise. ] Acked-by: Borislav Petkov <[email protected]> Acked-by: Linus Torvalds <[email protected]> Cc: <[email protected]> Cc: Allan Xavier <[email protected]> Cc: H. Peter Anvin <[email protected]> Cc: Thomas Gleixner <[email protected]> Fixes: adb9d526e982 ("x86/xsaves: Add xsaves and xrstors support for booting time") Fixes: f31a9f7c7169 ("x86/xsaves: Use xsaves/xrstors to save and restore xsave area") Signed-off-by: Ingo Molnar <[email protected]>
Diffstat (limited to 'net/switchdev/switchdev.c')
0 files changed, 0 insertions, 0 deletions