OSDN Git Service

sparc64: Fix bugs in get_user_pages_fast() wrt. THP.
authorDavid S. Miller <davem@davemloft.net>
Fri, 25 Apr 2014 17:21:12 +0000 (10:21 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sun, 4 May 2014 05:32:37 +0000 (22:32 -0700)
commit04df419de34104d8818b8c5cffaa062fa36d20ea
tree35f20c565e3d6797ed9638e688e4e911251da011
parent51e5ef1bb7ab0e5fa7de4e802da5ab22fe35f0bf
sparc64: Fix bugs in get_user_pages_fast() wrt. THP.

The large PMD path needs to check _PAGE_VALID not _PAGE_PRESENT, to
decide if it needs to bail and return 0.

pmd_large() should therefore just check _PAGE_PMD_HUGE.

Calls to gup_huge_pmd() are guarded with a check of pmd_large(), so we
just need to add a valid bit check.

Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc/include/asm/pgtable_64.h
arch/sparc/mm/gup.c