[PATCH] powerpc/mm: use the correct pointer when setting a 2M pte
Aneesh Kumar K.V
aneesh.kumar at linux.vnet.ibm.com
Sun Jan 29 02:59:39 AEDT 2017
Reza Arbab <arbab at linux.vnet.ibm.com> writes:
> When setting a 2M pte, radix__map_kernel_page() is using the address
>
> ptep = (pte_t *)pudp;
>
> Fix this conversion to use pmdp instead. Use pmdp_ptep() to do this
> instead of casting the pointer.
>
Reviewed-by: Aneesh Kumar K.V <aneesh.kumar at linux.vnet.ibm.com>
> Signed-off-by: Reza Arbab <arbab at linux.vnet.ibm.com>
> ---
> arch/powerpc/mm/pgtable-radix.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/powerpc/mm/pgtable-radix.c b/arch/powerpc/mm/pgtable-radix.c
> index cfa53cc..34f1a0d 100644
> --- a/arch/powerpc/mm/pgtable-radix.c
> +++ b/arch/powerpc/mm/pgtable-radix.c
> @@ -65,7 +65,7 @@ int radix__map_kernel_page(unsigned long ea, unsigned long pa,
> if (!pmdp)
> return -ENOMEM;
> if (map_page_size == PMD_SIZE) {
> - ptep = (pte_t *)pudp;
> + ptep = pmdp_ptep(pmdp);
> goto set_the_pte;
> }
> ptep = pte_alloc_kernel(pmdp, ea);
> @@ -90,7 +90,7 @@ int radix__map_kernel_page(unsigned long ea, unsigned long pa,
> }
> pmdp = pmd_offset(pudp, ea);
> if (map_page_size == PMD_SIZE) {
> - ptep = (pte_t *)pudp;
> + ptep = pmdp_ptep(pmdp);
> goto set_the_pte;
> }
> if (!pmd_present(*pmdp)) {
> --
> 1.8.3.1
More information about the Linuxppc-dev
mailing list