[PATCH] D39471: [asan] Fix small X86_64 ShadowOffset for non-default shadow scale

Vitaly Buka via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 15 14:27:57 PST 2017


vitalybuka added inline comments.


================
Comment at: llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp:293
                                    cl::desc("scale of asan shadow mapping"),
                                    cl::Hidden, cl::init(0));
 
----------------
@eugenis why do we need 0 here and not just kDefaultShadowScale


================
Comment at: llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp:524
       else
-        Mapping.Offset = kSmallX86_64ShadowOffset;
+        Mapping.Offset = 0x7FFFFFFF & (0xFFFFF000 << Mapping.Scale);
     } else if (IsWindows && IsX86_64) {
----------------
UB of shifting into sign bit?
0xFFFFF000ULL?
Same above.


https://reviews.llvm.org/D39471





More information about the llvm-commits mailing list