arm64: Move PTE_PROT_NONE higher up
authorCatalin Marinas <catalin.marinas@arm.com>
Wed, 27 Nov 2013 16:59:27 +0000 (16:59 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 4 Dec 2013 19:05:54 +0000 (11:05 -0800)
commit39cacefa893b2c4362bbb60ac3da4de1a442c007
tree8d9cb39c32a39d0536ebef5eda4eb654604dd04d
parentfd5cd457f8de18a96a59655a7c432fda96aaea60
arm64: Move PTE_PROT_NONE higher up

commit 3676f9ef5481d614f8c5c857f5319755be248268 upstream.

PTE_PROT_NONE means that a pte is present but does not have any
read/write attributes. However, setting the memory type like
pgprot_writecombine() is allowed and such bits overlap with
PTE_PROT_NONE. This causes mmap/munmap issues in drivers that change the
vma->vm_pg_prot on PROT_NONE mappings.

This patch reverts the PTE_FILE/PTE_PROT_NONE shift in commit
59911ca4325d (ARM64: mm: Move PTE_PROT_NONE bit) and moves PTE_PROT_NONE
together with the other software bits.

Signed-off-by: Steve Capper <steve.capper@linaro.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Tested-by: Steve Capper <steve.capper@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm64/include/asm/pgtable.h