|
Message-ID: <CA+55aFzQA+W_t1-7UaQtiEY3MJQ0cRP0r3AJi5qOum_9zb_3sA@mail.gmail.com> Date: Fri, 26 May 2017 13:23:49 -0700 From: Linus Torvalds <torvalds@...ux-foundation.org> To: Kees Cook <keescook@...omium.org> Cc: "kernel-hardening@...ts.openwall.com" <kernel-hardening@...ts.openwall.com>, Laura Abbott <labbott@...hat.com>, "the arch/x86 maintainers" <x86@...nel.org>, Linux Kernel Mailing List <linux-kernel@...r.kernel.org> Subject: Re: [PATCH v2 19/20] [RFC] task_struct: Allow randomized layout On Fri, May 26, 2017 at 1:17 PM, Kees Cook <keescook@...omium.org> wrote: > This marks most of the layout of task_struct as randomizable, but leaves > thread_info and scheduler state untouched at the start, and thread_struct > untouched at the end. I think you want to abstract this out somehow, because this is both ugly and bad: > + /* This begins the randomizable portion of task_struct... */ > +#if GCC_VERSION >= 40600 > + struct { > +#endif when you could instead just introduce something like #if GCC_VERSION >= 40600 #define randomized_struct_fields_start struct { #define randomized_struct_fields_end } __randomize_layout; #else #define randomized_struct_fields_start #define randomized_struct_fields_end #endif and then this pattern is (a) more-or-less self-documenting (b) usable in other places too. (c) maybe some future compiler wants that struct field to have some "randomize-me attribute" or something Hmm?
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.