From 1247c2673c3d32aa6398e53cd1977d053ab066bf Mon Sep 17 00:00:00 2001
From: Patrick Daly <pdaly@codeaurora.org>
Date: Tue, 28 Mar 2017 12:23:18 -0700
Subject: [PATCH] lrdpv2: ddrcompare: Adjust virtual address from objdump

With Kaslr enabled:
virtual_address = virtual_address_from_vmlinux + kaslr_offset

This fixes an issue where all the magic values from locks are incorrectly
detected as corrupted.

Change-Id: I235199b8b7d58e3303394e70ee78385bc05117c6
Reported-by: soumeng@codeaurora.com
---
 linux-ramdump-parser-v2/parsers/ddrcompare.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/linux-ramdump-parser-v2/parsers/ddrcompare.py b/linux-ramdump-parser-v2/parsers/ddrcompare.py
index 5a4866f..63cefe6 100644
--- a/linux-ramdump-parser-v2/parsers/ddrcompare.py
+++ b/linux-ramdump-parser-v2/parsers/ddrcompare.py
@@ -45,7 +45,8 @@ class DDRCompare(RamParser) :
                 bitcheck = virtual & 0x3
                 if bitcheck:
                     virtual = virtual - bitcheck
-                physical = self.ramdump.virt_to_phys(virtual)
+                physical = self.ramdump.virt_to_phys(
+                                virtual + self.ramdump.kaslr_offset)
 
                 magic = hex(self.ramdump.read_u32(physical, False)).rstrip("L").lstrip("0x").zfill(8)
                 if (m.group(2) != magic):
-- 
GitLab