diff options
author | Michael Ellerman <[email protected]> | 2023-05-05 13:51:27 +1000 |
---|---|---|
committer | Andrew Morton <[email protected]> | 2023-05-17 15:24:33 -0700 |
commit | 7581495ac82d6cb073609284c7f7186a48021d1e (patch) | |
tree | 9c7e7ec7e0c2c4bd529b8c69b6e2a01a8f21cdbc /lib/mpi/mpi-internal.h | |
parent | d461aac924b937bcb4fd0ca1242b3ef6868ecddd (diff) |
mm: kfence: fix false positives on big endian
Since commit 1ba3cbf3ec3b ("mm: kfence: improve the performance of
__kfence_alloc() and __kfence_free()"), kfence reports failures in random
places at boot on big endian machines.
The problem is that the new KFENCE_CANARY_PATTERN_U64 encodes the address
of each byte in its value, so it needs to be byte swapped on big endian
machines.
The compiler is smart enough to do the le64_to_cpu() at compile time, so
there is no runtime overhead.
Link: https://lkml.kernel.org/r/[email protected]
Fixes: 1ba3cbf3ec3b ("mm: kfence: improve the performance of __kfence_alloc() and __kfence_free()")
Signed-off-by: Michael Ellerman <[email protected]>
Reviewed-by: Alexander Potapenko <[email protected]>
Reviewed-by: Marco Elver <[email protected]>
Cc: Peng Zhang <[email protected]>
Cc: David Laight <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Diffstat (limited to 'lib/mpi/mpi-internal.h')
0 files changed, 0 insertions, 0 deletions