diff options
Diffstat (limited to 'arch/powerpc/include/asm/pgtable-ppc64.h')
| -rw-r--r-- | arch/powerpc/include/asm/pgtable-ppc64.h | 3 | 
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/powerpc/include/asm/pgtable-ppc64.h b/arch/powerpc/include/asm/pgtable-ppc64.h index 0182c203e41..e3d55f6f24f 100644 --- a/arch/powerpc/include/asm/pgtable-ppc64.h +++ b/arch/powerpc/include/asm/pgtable-ppc64.h @@ -167,8 +167,7 @@   * Find an entry in a page-table-directory.  We combine the address region   * (the high order N bits) and the pgd portion of the address.   */ -/* to avoid overflow in free_pgtables we don't use PTRS_PER_PGD here */ -#define pgd_index(address) (((address) >> (PGDIR_SHIFT)) & 0x1ff) +#define pgd_index(address) (((address) >> (PGDIR_SHIFT)) & (PTRS_PER_PGD - 1))  #define pgd_offset(mm, address)	 ((mm)->pgd + pgd_index(address))  |