Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 8 Mar 2016 09:51:05 +0100
From: Christian Borntraeger <>
To: Kees Cook <>
Cc: Heiko Carstens <>,
        Martin Schwidefsky <>,
        Ingo Molnar <>, David Brown <>,
        Andy Lutomirski <>,
        "H. Peter Anvin" <>,
        Michael Ellerman <>,
        Mathias Krause <>,
        Thomas Gleixner
        "" <>, Arnd Bergmann <>,
        PaX Team <>, Emese Revfy <>,
        "" <>,
        LKML <>,
        linux-s390 <>
Subject: Re: [RFC][PATCH] s390, postinit-readonly: implement post-init RO

On 03/08/2016 01:41 AM, Kees Cook wrote:

>> --- a/arch/s390/kernel/
>> +++ b/arch/s390/kernel/
>> @@ -52,6 +52,12 @@ SECTIONS
>> +       . = ALIGN(PAGE_SIZE)

missing ";" ?

With that  and your fixes, this function claims to mark 0kB and 
lkdtm can still write. Reason is that _edata is 0xc11008 and start is

making _edata page aligned as well, does now try to mark one page, but then
we run into the next issue, that 

static void change_page_attr(unsigned long addr, int numpages,
                             pte_t (*set) (pte_t))
        pte_t *ptep;
        int i;

        for (i = 0; i < numpages; i++) {
                ptep = walk_page_table(addr);

triggers this
                if (WARN_ON_ONCE(!ptep))

because the kernel decided to map this with a large page. So we need
to fix this function to then break the large page into a smaller chunk....


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.