On Mon, 1 Dec 2014 06:55:01 -0800 Andy Lutomirski <luto@xxxxxxxxxxxxxx> wrote: > On Tue, Nov 11, 2014 at 2:52 AM, Richard Weinberger <richard@xxxxxx> wrote: > > Am 11.11.2014 um 03:13 schrieb David Miller: > >> From: Andy Lutomirski <luto@xxxxxxxxxxxxxx> > >> Date: Mon, 10 Nov 2014 14:03:23 -0800 > >> > >>> On Wed, Oct 29, 2014 at 11:12 AM, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote: > >>>> On Wed, 29 Oct 2014, Andy Lutomirski wrote: > >>>> > >>>>> If an attacker can cause a controlled kernel stack overflow, > >>>>> overwriting the restart block is a very juicy exploit target. > >>>>> Moving the restart block to struct task_struct prevents this > >>>>> exploit. > >>>>> > >>>>> Note that there are other fields in thread_info that are also easy > >>>>> targets, at least on some architectures. > >>>>> > >>>>> It's also a decent simplification, since the restart code is more or > >>>>> less identical on all architectures. > >>>> > >>>> I think that's the most important change. Moving common stuff into > >>>> common code. The side effect of slightly reducing the attack surface > >>>> is nice, but as Al pointed out not really the big win here. > >>> > >>> Having gotten exactly zero feedback from any arch maintainer outside > >>> of x86, am I supposed to pester people further? > >> > >> No objections wrt. sparc and if things break I'll help fix it. > > > > Same for UML. > > Acked-by: Richard Weinberger <richard@xxxxxx> > > akpm, do you consider this appropriate for either 3.19 or 3.20? If > so, can you add it to the appropriate part of -mm? Yes, I can grab it. Probably for .20, as the lag times for exposing issues in obscures architectures are lengthy. One clarification: : If an attacker can cause a controlled kernel stack overflow, : overwriting the restart block is a very juicy exploit target. This is because the thread_info actually resides in the memory which was allocated for the kernel stack, yes? Whereas the task_struct is separately allocated and is harder to find? Spelling this out in the changelog would be useful for the ignorant and the forgetful ;) : Moving the restart block to struct task_struct prevents this : exploit. -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html