Messages in this thread | ![/](/images/icornerl.gif) | | Date | Mon, 14 Apr 2014 09:27:56 +0200 | From | Ingo Molnar <> | Subject | Re: [tip:x86/urgent] x86-64, modify_ldt: Ban 16-bit segments on 64-bit kernels |
| |
* H. Peter Anvin <hpa@linux.intel.com> wrote:
> On 04/11/2014 11:41 AM, Linus Torvalds wrote: > > > > Ok, so you actually do this on x86-64, and it currently works? For > > some reason I thought that 16-bit windows apps already didn't work. > > > > Some will work, because not all 16-bit software care about the upper > half of ESP getting randomly corrupted. > > That is the "functionality bit" of the problem. The other bit, of > course, is that that random corruption is the address of the kernel stack. > > > Because if we have working users of this, then I don't think we can do > > the "we don't support 16-bit segments", or at least we need to make it > > runtime configurable. > > I'll let you pick what the policy should be here. I personally > think that we have to be able to draw a line somewhere sometimes > (Microsoft themselves haven't supported running 16-bit binaries for > several Windows generations now), but it is your policy, not mine.
I think the mmap_min_addr model works pretty well:
- it defaults to secure
- allow a security policy to grant an exception to a known package, built by the distro
- end user can also grant an exception
This essentially punts any 'makes the system less secure' exceptions to the distro and the end user.
Thanks,
Ingo
| ![\](/images/icornerr.gif) |