Messages in this thread |  | | Subject | Re: [tip:x86/urgent] x86-64, modify_ldt: Ban 16-bit segments on 64-bit kernels | | From | "H. Peter Anvin" <> | | Date | Mon, 14 Apr 2014 08:45:36 -0700 |
| |
For both of these, though, it is really kind of broken that it is a global switch, whereas typically only one application on the whole system needs it, so it would be much better to have application-specific controls. How to do that is another matter...
On April 14, 2014 12:27:56 AM PDT, Ingo Molnar <mingo@kernel.org> wrote: > >* 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
-- Sent from my mobile phone. Please pardon brevity and lack of formatting.
|  |