[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHk-=wgjmt2i37nn9v+nGC0m8-DdLBMEs=NC=TV-u+9XAzA61g@mail.gmail.com>
Date: Wed, 17 Jul 2019 17:17:16 -0700
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: "Dmitry V. Levin" <ldv@...linux.org>
Cc: Christoph Hellwig <hch@....de>,
Khalid Aziz <khalid.aziz@...cle.com>,
Andrew Morton <akpm@...ux-foundation.org>,
"David S. Miller" <davem@...emloft.net>,
Anatoly Pugachev <matorola@...il.com>,
sparclinux@...r.kernel.org, Linux-MM <linux-mm@...ck.org>,
Linux List Kernel Mailing <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 09/16] sparc64: use the generic get_user_pages_fast code
On Wed, Jul 17, 2019 at 4:30 PM Dmitry V. Levin <ldv@...linux.org> wrote:
>
> Sure, here it is:
Hmm. I'm not seeing anything obviously wrong in the generic gup conversion.
>From the oops, I assume that the problem is that get_user_pages_fast()
returned an invalid page, causing the bad access later in
get_futex_key(). But that's odd too, considering that
get_user_pages_fast() had already accessed the page (both for looking
up the head, and for then doing things like SetPageReferenced(page)).
The only half-way subtle thing is the pte_access_permitted() movement,
but it looks like it matches what gup_pte_range() did in the original
sparc64 code. And the address masking is done the same way too, as far
as I can tell.
So clearly there's something wrong there, but I'm not seeing it. Maybe
I'm incorrectly looking at that pte case, and the problem happened
earlier.
Anyway, I suspect some sparc64 person needs to delve into it.
I know this got reviewed by sparc64 people (the final commit message
only has a single Reviewed-by, but I see an Ack by Davem in my maill
that seems to have gotten lost by the time the patch made it in), but
maybe actually nobody ever _tested_ it until it hit my tree?
Linus
Powered by blists - more mailing lists