sparc64: Fix page table walk for PUD hugepages
authorNitin Gupta <nitin.m.gupta@oracle.com>
Fri, 3 Nov 2017 19:26:06 +0000 (12:26 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 15 Nov 2017 05:37:43 +0000 (14:37 +0900)
commit70f3c8b7c2e7ebcdde8354da004872e7c9184e97
tree2de0060e985b99cf738be31ef36893f65c75185d
parentff0296877a8d04db27997ec216376d7bbdf75a0b
sparc64: Fix page table walk for PUD hugepages

For a PUD hugepage entry, we need to propagate bits [32:22]
from virtual address to resolve at 4M granularity. However,
the current code was incorrectly propagating bits [29:19].
This bug can cause incorrect data to be returned for pages
backed with 16G hugepages.

Signed-off-by: Nitin Gupta <nitin.m.gupta@oracle.com>
Reported-by: Al Viro <viro@ZenIV.linux.org.uk>
Cc: Al Viro <viro@ZenIV.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc/include/asm/tsb.h