[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <A020A6D1-C7DB-480B-826E-AE18308CD3E5@zytor.com>
Date: Thu, 10 Oct 2019 18:38:03 -0700
From: hpa@...or.com
To: Kees Cook <keescook@...omium.org>, Borislav Petkov <bp@...en8.de>
CC: Thomas Gleixner <tglx@...utronix.de>,
Rick Edgecombe <rick.p.edgecombe@...el.com>,
Ingo Molnar <mingo@...hat.com>,
Dave Hansen <dave.hansen@...ux.intel.com>,
Andy Lutomirski <luto@...nel.org>,
Arnd Bergmann <arnd@...db.de>, linux-arch@...r.kernel.org,
linuxppc-dev@...ts.ozlabs.org, linux-alpha@...r.kernel.org,
linux-ia64@...r.kernel.org, linux-s390@...r.kernel.org,
linux-c6x-dev@...ux-c6x.org,
Yoshinori Sato <ysato@...rs.sourceforge.jp>,
Michal Simek <monstr@...str.eu>, linux-parisc@...r.kernel.org,
linux-xtensa@...ux-xtensa.org, x86@...nel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 00/29] vmlinux.lds.h: Refactor EXCEPTION_TABLE and NOTES
On October 10, 2019 4:57:36 PM PDT, Kees Cook <keescook@...omium.org> wrote:
>On Thu, Oct 10, 2019 at 08:03:31PM +0200, Borislav Petkov wrote:
>> On Thu, Sep 26, 2019 at 10:55:33AM -0700, Kees Cook wrote:
>> > This series works to move the linker sections for NOTES and
>> > EXCEPTION_TABLE into the RO_DATA area, where they belong on most
>> > (all?) architectures. The problem being addressed was the discovery
>> > by Rick Edgecombe that the exception table was accidentally marked
>> > executable while he was developing his execute-only-memory series.
>When
>> > permissions were flipped from readable-and-executable to
>only-executable,
>> > the exception table became unreadable, causing things to explode
>rather
>> > badly. :)
>> >
>> > Roughly speaking, the steps are:
>> >
>> > - regularize the linker names for PT_NOTE and PT_LOAD program
>headers
>> > (to "note" and "text" respectively)
>> > - regularize restoration of linker section to program header
>assignment
>> > (when PT_NOTE exists)
>> > - move NOTES into RO_DATA
>> > - finish macro naming conversions for RO_DATA and RW_DATA
>> > - move EXCEPTION_TABLE into RO_DATA on architectures where this is
>clear
>> > - clean up some x86-specific reporting of kernel memory resources
>> > - switch x86 linker fill byte from x90 (NOP) to 0xcc (INT3), just
>because
>> > I finally realized what that trailing ": 0x9090" meant -- and we
>should
>> > trap, not slide, if execution lands in section padding
>>
>> Yap, nice patchset overall.
>
>Thanks!
>
>> > Since these changes are treewide, I'd love to get
>architecture-maintainer
>> > Acks and either have this live in x86 -tip or in my own tree,
>however
>> > people think it should go.
>>
>> Sure, I don't mind taking v2 through tip once I get ACKs from the
>> respective arch maintainers.
>
>Okay, excellent. I've only had acks from arm64, but I'll call it out
>again in v2. Thanks for the review!
I would like to once again advocate for the generalized link table mechanism. It is nuts that each individual table should need vmlinux.lds hacking across architectures.
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.
Powered by blists - more mailing lists