linux/arch/x86
Al Viro bd1c149aa9 Introduce [compat_]save_altstack_ex() to unbreak x86 SMAP
For performance reasons, when SMAP is in use, SMAP is left open for an
entire put_user_try { ... } put_user_catch(); block, however, calling
__put_user() in the middle of that block will close SMAP as the
STAC..CLAC constructs intentionally do not nest.

Furthermore, using __put_user() rather than put_user_ex() here is bad
for performance.

Thus, introduce new [compat_]save_altstack_ex() helpers that replace
__[compat_]save_altstack() for x86, being currently the only
architecture which supports put_user_try { ... } put_user_catch().

Reported-by: H. Peter Anvin <hpa@linux.intel.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Cc: <stable@vger.kernel.org> # v3.8+
Link: http://lkml.kernel.org/n/tip-es5p6y64if71k8p5u08agv9n@git.kernel.org
2013-09-01 14:16:33 -07:00
..
boot x86, efi: correct call to free_pages 2013-07-26 15:22:32 +01:00
configs x86, platform, kvm, kconfig: Turn existing .config's into KVM-capable configs 2013-05-28 12:11:32 +02:00
crypto Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2013-07-24 11:05:18 -07:00
ia32 Introduce [compat_]save_altstack_ex() to unbreak x86 SMAP 2013-09-01 14:16:33 -07:00
include x86, smap: Handle csum_partial_copy_*_user() 2013-09-01 14:09:48 -07:00
kernel Introduce [compat_]save_altstack_ex() to unbreak x86 SMAP 2013-09-01 14:16:33 -07:00
kvm KVM: MMU: avoid fast page fault fixing mmio page fault 2013-07-18 12:26:57 +02:00
lguest Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-07-06 14:09:38 -07:00
lib x86, smap: Handle csum_partial_copy_*_user() 2013-09-01 14:09:48 -07:00
math-emu
mm x86 get_unmapped_area: Access mmap_legacy_base through mm_struct member 2013-08-22 10:19:35 -07:00
net x86: bpf_jit_comp: secure bpf jit against spraying attacks 2013-05-19 23:55:41 -07:00
oprofile
pci x86: delete __cpuinit usage from all x86 files 2013-07-14 19:36:56 -04:00
platform arch/x86/platform/ce4100/ce4100.c: include reboot.h 2013-07-31 14:41:02 -07:00
power x86, gdt, hibernate: Store/load GDT for hibernate path. 2013-05-02 11:27:35 -07:00
realmode x86, relocs: Refactor the relocs tool to merge 32- and 64-bit ELF 2013-04-16 16:02:58 -07:00
syscalls unify compat fanotify_mark(2), switch to COMPAT_SYSCALL_DEFINE 2013-05-09 13:46:38 -04:00
tools x86, relocs: Move __vvar_page from S_ABS to S_REL 2013-06-12 15:14:57 -07:00
um um: remove dead code 2013-07-19 11:35:32 +02:00
vdso x86/vdso: Convert use of typedef ctl_table to struct ctl_table 2013-06-19 15:06:09 +02:00
video
xen Bug-fixes: 2013-08-21 16:38:33 -07:00
.gitignore
Kbuild
Kconfig arm: add support for LZ4-compressed kernel 2013-07-09 10:33:30 -07:00
Kconfig.cpu
Kconfig.debug Merge branch 'kconfig-diet' from Dave Hansen 2013-07-04 11:25:51 -07:00
Makefile x86/platform: Add kvmconfig to the phony targets 2013-06-23 12:17:35 +02:00
Makefile_32.cpu
Makefile.um