From: Nick Piggin <nickpiggin@yahoo.com.au>
To: Hugh Dickins <hugh@veritas.com>,
"Martin Schwidefsky" <schwidefsky@googlemail.com>
Cc: benh@kernel.crashing.org, cotte@de.ibm.com,
Zan Lynx <zlynx@acm.org>, Ryan Hope <rmh3093@gmail.com>,
LKML <linux-kernel@vger.kernel.org>,
Andrew Morton <akpm@linux-foundation.org>
Subject: Re: Lockless/Get_User_Pages_Fast causes Xorg 1.4.99.* to lock
Date: Mon, 7 Jul 2008 21:39:48 +1000 [thread overview]
Message-ID: <200807072139.48462.nickpiggin@yahoo.com.au> (raw)
In-Reply-To: <Pine.LNX.4.64.0807071134090.21480@blonde.site>
On Monday 07 July 2008 20:39, Hugh Dickins wrote:
> On Mon, 7 Jul 2008, Nick Piggin wrote:
> > I think we need a similar fix for s390 too. If so, then it really should
> > get into 2.6.26, but this late in the release, I hope an s390 maintainer
> > might be able to test and verify the fix?
>
> Wow, yes, I hadn't realized s390 is ahead of the game there: glad you're
> back to spot that. But yes, we'd prefer maintainer to confirm and push.
>
>
> [PATCH]] s390: protect _PAGE_SPECIAL bit against mprotect
>
> Stop mprotect's pte_modify from wiping out the s390 pte_special bit, which
> caused oops thereafter when vm_normal_page thought X's abnormal was normal.
>
> Signed-off-by: Nick Piggin <npiggin@suse.de>
> Acked-by: Hugh Dickins <hugh@veritas.com>
Thanks, I feel silly to take the authorship of this before your x86
version gets in (and will likely not be credited if it is folded
before merging)
Martin, could you please credit Hugh for the debugging? :)
Thanks,
> ---
> Index: linux-2.6/include/asm-s390/pgtable.h
> ===================================================================
> --- linux-2.6.orig/include/asm-s390/pgtable.h
> +++ linux-2.6/include/asm-s390/pgtable.h
> @@ -223,6 +223,9 @@ extern char empty_zero_page[PAGE_SIZE];
> #define _PAGE_SPECIAL 0x004 /* SW associated with special page */
> #define __HAVE_ARCH_PTE_SPECIAL
>
> +/* Set of bits not changed in pte_modify */
> +#define _PAGE_CHG_MASK (PAGE_MASK | _PAGE_SPECIAL)
> +
> /* Six different types of pages. */
> #define _PAGE_TYPE_EMPTY 0x400
> #define _PAGE_TYPE_NONE 0x401
> @@ -681,7 +684,7 @@ static inline void pte_clear(struct mm_s
> */
> static inline pte_t pte_modify(pte_t pte, pgprot_t newprot)
> {
> - pte_val(pte) &= PAGE_MASK;
> + pte_val(pte) &= _PAGE_CHG_MASK;
> pte_val(pte) |= pgprot_val(newprot);
> return pte;
> }
next prev parent reply other threads:[~2008-07-07 11:40 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-04 6:26 Ryan Hope
2008-07-04 16:29 ` Zan Lynx
2008-07-04 20:29 ` Hugh Dickins
2008-07-05 5:26 ` Ryan Hope
2008-07-06 21:03 ` Zan Lynx
2008-07-07 7:01 ` Nick Piggin
2008-07-07 7:55 ` Nick Piggin
2008-07-07 8:06 ` Nick Piggin
2008-07-07 10:39 ` Hugh Dickins
2008-07-07 11:08 ` Martin Schwidefsky
2008-07-07 11:39 ` Nick Piggin [this message]
2008-07-07 12:02 ` Hugh Dickins
2008-07-07 15:43 ` Carsten Otte
2008-07-07 16:16 ` Ryan Hope
2008-07-07 16:38 ` Carsten Otte
2008-07-07 17:01 ` Ryan Hope
2008-07-07 17:48 ` Hugh Dickins
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200807072139.48462.nickpiggin@yahoo.com.au \
--to=nickpiggin@yahoo.com.au \
--cc=akpm@linux-foundation.org \
--cc=benh@kernel.crashing.org \
--cc=cotte@de.ibm.com \
--cc=hugh@veritas.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rmh3093@gmail.com \
--cc=schwidefsky@googlemail.com \
--cc=zlynx@acm.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®