Messages in this thread | | | From | Linus Torvalds <> | Date | Wed, 17 Jul 2019 17:17:16 -0700 | 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@altlinux.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
| |