| From 7ed6fb9b5a5510e4ef78ab27419184741169978a Mon Sep 17 00:00:00 2001 |
| From: "H. Peter Anvin" <hpa@zytor.com> |
| Date: Wed, 21 May 2014 10:22:59 -0700 |
| Subject: Revert "x86-64, modify_ldt: Make support for 16-bit segments a runtime option" |
| |
| From: "H. Peter Anvin" <hpa@zytor.com> |
| |
| commit 7ed6fb9b5a5510e4ef78ab27419184741169978a upstream. |
| |
| This reverts commit fa81511bb0bbb2b1aace3695ce869da9762624ff in |
| preparation of merging in the proper fix (espfix64). |
| |
| Signed-off-by: H. Peter Anvin <hpa@zytor.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| arch/x86/kernel/ldt.c | 4 +--- |
| arch/x86/vdso/vdso32-setup.c | 8 -------- |
| 2 files changed, 1 insertion(+), 11 deletions(-) |
| |
| --- a/arch/x86/kernel/ldt.c |
| +++ b/arch/x86/kernel/ldt.c |
| @@ -20,8 +20,6 @@ |
| #include <asm/mmu_context.h> |
| #include <asm/syscalls.h> |
| |
| -int sysctl_ldt16 = 0; |
| - |
| #ifdef CONFIG_SMP |
| static void flush_ldt(void *current_mm) |
| { |
| @@ -236,7 +234,7 @@ static int write_ldt(void __user *ptr, u |
| * IRET leaking the high bits of the kernel stack address. |
| */ |
| #ifdef CONFIG_X86_64 |
| - if (!ldt_info.seg_32bit && !sysctl_ldt16) { |
| + if (!ldt_info.seg_32bit) { |
| error = -EINVAL; |
| goto out_unlock; |
| } |
| --- a/arch/x86/vdso/vdso32-setup.c |
| +++ b/arch/x86/vdso/vdso32-setup.c |
| @@ -41,7 +41,6 @@ enum { |
| #ifdef CONFIG_X86_64 |
| #define vdso_enabled sysctl_vsyscall32 |
| #define arch_setup_additional_pages syscall32_setup_pages |
| -extern int sysctl_ldt16; |
| #endif |
| |
| /* |
| @@ -380,13 +379,6 @@ static ctl_table abi_table2[] = { |
| .maxlen = sizeof(int), |
| .mode = 0644, |
| .proc_handler = proc_dointvec |
| - }, |
| - { |
| - .procname = "ldt16", |
| - .data = &sysctl_ldt16, |
| - .maxlen = sizeof(int), |
| - .mode = 0644, |
| - .proc_handler = proc_dointvec |
| }, |
| {} |
| }; |