[PATCH] D39858: [PowerPC][msan] Update msan to handle changed memory layouts in newer kernels

Bill Seurer via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 9 11:53:32 PST 2017


seurer created this revision.

[PowerPC][msan] Update msan to handle changed memory layouts in newer kernels

In more recent Linux kernels (including those with 47 bit VMAs) the layout of
virtual memory for powerpc64 changed causing the memory sanitizer to not
work properly.  This patch adjusts a bit mask in the memory sanitizer to work
on the newer kernels while continuing to work on the older ones as well.

This is the non-runtime part of the patch and finishes it.  ref: r317802

Tested on several 4.x and 3.x kernel releases.


https://reviews.llvm.org/D39858

Files:
  lib/Transforms/Instrumentation/MemorySanitizer.cpp


Index: lib/Transforms/Instrumentation/MemorySanitizer.cpp
===================================================================
--- lib/Transforms/Instrumentation/MemorySanitizer.cpp
+++ lib/Transforms/Instrumentation/MemorySanitizer.cpp
@@ -290,7 +290,7 @@
 
 // ppc64 Linux
 static const MemoryMapParams Linux_PowerPC64_MemoryMapParams = {
-  0x200000000000,  // AndMask
+  0xE00000000000,  // AndMask
   0x100000000000,  // XorMask
   0x080000000000,  // ShadowBase
   0x1C0000000000,  // OriginBase


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D39858.122298.patch
Type: text/x-patch
Size: 501 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171109/25d6f0a2/attachment.bin>


More information about the llvm-commits mailing list