arm64: pgtable: fix definition of pte_valid
authorWill Deacon <will.deacon@arm.com>
Tue, 28 Jul 2015 15:14:03 +0000 (16:14 +0100)
committerWill Deacon <will.deacon@arm.com>
Tue, 28 Jul 2015 15:14:03 +0000 (16:14 +0100)
pte_valid should check if the PTE_VALID bit (1 << 0) is set in the pte,
so fix the macro definition to use bitwise & instead of logical &&.

Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/include/asm/pgtable.h

index d001846..6900b2d 100644 (file)
@@ -153,7 +153,7 @@ extern struct page *empty_zero_page;
 #define pte_sw_dirty(pte)      (!!(pte_val(pte) & PTE_DIRTY))
 #define pte_dirty(pte)         (pte_sw_dirty(pte) || pte_hw_dirty(pte))
 
-#define pte_valid(pte)         (!!(pte_val(pte) && PTE_VALID))
+#define pte_valid(pte)         (!!(pte_val(pte) & PTE_VALID))
 #define pte_valid_user(pte) \
        ((pte_val(pte) & (PTE_VALID | PTE_USER)) == (PTE_VALID | PTE_USER))
 #define pte_valid_not_user(pte) \