[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+55aFw9BPoD10U1LfHbOMpHWZkvJTkMcfCs9s3urPr1YyWBxw@mail.gmail.com>
Date: Wed, 7 May 2014 09:57:37 -0700
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Sven Joachim <svenjoac@....de>
Cc: Alexandre Julliard <julliard@...ehq.org>,
Brian Gerst <brgerst@...il.com>,
Ingo Molnar <mingo@...nel.org>,
"H. Peter Anvin" <hpa@...or.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Thomas Gleixner <tglx@...utronix.de>,
stable <stable@...r.kernel.org>,
"H. Peter Anvin" <hpa@...ux.intel.com>
Subject: Re: [tip:x86/urgent] x86-64, modify_ldt: Ban 16-bit segments on
64-bit kernels
On Wed, May 7, 2014 at 2:18 AM, Sven Joachim <svenjoac@....de> wrote:
>
> It seems that at least some 32-bit programs are also broken, since after
> upgrading the kernel to 3.14.3 I can no longer start my old chess
> database program:
So for backporting (and for 3.15) maybe this (TOTALLY UNTESTED) patch
would be acceptable.
It adds a "/proc/sys/abi/ldt16" sysctl that defaults to zero (off). If
you hit this issue and care about your old Windows program more than
you care about a kernel stack address information leak, you can do
echo 1 > /proc/sys/abi/ldt16
as root (add it to your startup scripts), and you should be ok.
Afaik, 16-bit programs under wine already need
echo 0 > /proc/sys/vm/mmap_min_addr
because they want to map things at address 0, so this isn't a new concept.
I would like to repeat that this is totally untested. And the sysct
table is only added if you have COMPAT support enabled on x86-64, but
I assume anybody who runs old windows binaries very much does that ;)
Linus
View attachment "patch.diff" of type "text/plain" (1389 bytes)
Powered by blists - more mailing lists