[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <4A382AC6.2070603@zytor.com>
Date: Tue, 16 Jun 2009 16:29:10 -0700
From: "H. Peter Anvin" <hpa@...or.com>
To: Alexander van Heukelum <heukelum@...tmail.fm>
CC: Stas Sergeev <stsp@...et.ru>, Ingo Molnar <mingo@...e.hu>,
Thomas Gleixner <tglx@...utronix.de>,
Cyrill Gorcunov <gorcunov@...il.com>,
Tejun Heo <tj@...nel.org>, Zachary Amsden <zach@...are.com>,
Chuck Ebbert <76306.1226@...puserve.com>,
Jeremy Fitzhardinge <jeremy@...p.org>,
Linux kernel <linux-kernel@...r.kernel.org>
Subject: Re: Ping: Re: [PATCH 0/2] i386: espfix fixes
Alexander van Heukelum wrote:
>
> On http://lkml.indiana.edu/hypermail/linux/kernel/0608.0/0162.html:
>>>> - .quad 0x0000920000000000 /* 0xd0 - ESPFIX 16-bit SS */
>>>> + .quad 0x00cf92000000ffff /* 0xd0 - ESPFIX SS */
>>> Seems a bit dangerous to allow access to full 4GB through this.
>>> Can you tighten the limit any? I suppose not, because the high
>>> bits in %esp really could be anything. But it might be nice to
>>> try setting the limit to regs->esp + THREAD_SIZE. Of course, this
>>> is not strictly necessary, just an extra paranoid protection
>>> mechanism.
>> Since, when calculating the base, I do &-THREAD_SIZE, I guess the
>> minimal safe limit is regs->esp + THREAD_SIZE*2... Well, may just
>> I not do that please? :) For what, btw? There are no such a things
>> for __KERNEL_DS or anything, so I just don't see the necessity.
>
> In the normal case user-esp would be between 0 and 65535, and in
> that case the memory range in the ESPFIX stack segment would be
> pretty small. But userspace can set esp to just about anything if
> it really wants to, and in that case the reduction of the memory
> range is pretty much wothless (kernel stacks are allocated way
> above the code). As you said: may we just not do that, please?
>
Who are "we", here? First of all, this is about a 16-bit stack segment,
right? Why are we doing a 4 GB limit at all if this is a 16-bit stack
segment (where the stack can only be touched for the first 64K even if a
stack operation happens)?
I clearly don't quite understand at a glance what is going on.
-hpa
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists