diff options
author | Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> | 2016-06-02 12:44:48 +0300 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2016-06-08 06:56:53 +0300 |
commit | 9690c15742688e9cb5ee4aa0b08e458551ceea13 (patch) | |
tree | 9a61c35310aa07be57b3901b0757f6a2134b6e6f /arch/powerpc/mm/hash_native_64.c | |
parent | b3c0a4dab7e35a9b6d69c0415641d2280fdefb2b (diff) | |
download | linux-9690c15742688e9cb5ee4aa0b08e458551ceea13.tar.xz |
powerpc/mm/radix: Fix always false comparison against MMU_NO_CONTEXT
In some of the radix TLB flush routines, we use a local to store the
mm->context.id, AKA the PID.
Currently we use an int, but the PID is unsigned long, so large values
of PID will be truncated. In particular MMU_NO_CONTEXT is -1, which
means all our comparisons against that value can never be true.
This means we'll issue TLB flushes when we shouldn't on radix enabled
machines.
Fix it by using an unsigned long for the local. Discovered by Coverity.
Fixes: 1a472c9dba6b ("powerpc/mm/radix: Add tlbflush routines")
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Reviewed-by: Balbir Singh <bsingharora@gmail.com>
[mpe: Write change log]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/mm/hash_native_64.c')
0 files changed, 0 insertions, 0 deletions