powerpc/mm/radix: Fix always false comparison against MMU_NO_CONTEXT
authorMathieu Malaterre <malat@debian.org>
Thu, 22 Mar 2018 21:03:18 +0000 (22:03 +0100)
committerMichael Ellerman <mpe@ellerman.id.au>
Sun, 1 Apr 2018 12:15:34 +0000 (22:15 +1000)
In commit 9690c1574268 ("powerpc/mm/radix: Fix always false comparison
against MMU_NO_CONTEXT") an issue was discovered where `mm->context.id` was
being truncated to an `unsigned int`, while the PID is actually an
`unsigned long`. Update the earlier patch by fixing one remaining
occurrence. Discovered during a compilation with W=1:

  arch/powerpc/mm/tlb-radix.c:702:19: error: comparison is always false due to limited range of data type [-Werror=type-limits]

Signed-off-by: Mathieu Malaterre <malat@debian.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/mm/tlb-radix.c

index a8b178dd2e82ae2a9320e45bce8c7f052eb09e8e..2fba6170ab3fa9bf472dc23bd01a57ec48f824b0 100644 (file)
@@ -706,7 +706,7 @@ void radix__flush_tlb_pte_p9_dd1(unsigned long old_pte, struct mm_struct *mm,
 #ifdef CONFIG_KVM_BOOK3S_HV_POSSIBLE
 extern void radix_kvm_prefetch_workaround(struct mm_struct *mm)
 {
-       unsigned int pid = mm->context.id;
+       unsigned long pid = mm->context.id;
 
        if (unlikely(pid == MMU_NO_CONTEXT))
                return;