Blame SOURCES/kexec-tools-2.0.15-makedumpfile-Fix-physical-to-virtual-conversion-in-excl.patch

06c2a2
From 6c1bf2a029be0615089f55d815fdb78f6e06e06a Mon Sep 17 00:00:00 2001
06c2a2
From: Petr Tesarik <ptesarik@suse.com>
06c2a2
Date: Fri, 19 Jan 2018 20:46:17 +0900
06c2a2
Subject: [PATCH 2/2] [PATCH 2/2] Fix physical-to-virtual conversion in
06c2a2
 exclude_segment()
06c2a2
06c2a2
With kaslr enabled, PAGE_OFFSET may no longer be aligned to allow
06c2a2
calculation using bitwise OR. My fix follows the same idea as
06c2a2
Baoquan's commit 4c53423b995463067fbbd394e724b4d1d6ea3d62 for
06c2a2
set_kcore_vmcoreinfo, i.e. use arithmetic addition instead.
06c2a2
06c2a2
Signed-off-by: Petr Tesarik <ptesarik@suse.com>
06c2a2
Tested-by: Bhupesh Sharma <bhsharma@redhat.com>
06c2a2
---
06c2a2
 elf_info.c | 4 ++--
06c2a2
 1 file changed, 2 insertions(+), 2 deletions(-)
06c2a2
06c2a2
diff --git a/makedumpfile-1.6.2/elf_info.c b/makedumpfile-1.6.2/elf_info.c
06c2a2
index 1eaddd968826..711601a170c7 100644
06c2a2
--- a/makedumpfile-1.6.2/elf_info.c
06c2a2
+++ b/makedumpfile-1.6.2/elf_info.c
06c2a2
@@ -810,8 +810,8 @@ static int exclude_segment(struct pt_load_segment **pt_loads,
06c2a2
 	int i, j, tidx = -1;
06c2a2
 	unsigned long long	vstart, vend, kvstart, kvend;
06c2a2
 	struct pt_load_segment temp_seg = {0};
06c2a2
-	kvstart = (ulong)start | PAGE_OFFSET;
06c2a2
-	kvend = (ulong)end | PAGE_OFFSET;
06c2a2
+	kvstart = (ulong)start + PAGE_OFFSET;
06c2a2
+	kvend = (ulong)end + PAGE_OFFSET;
06c2a2
 	unsigned long size;
06c2a2
 
06c2a2
 	for (i = 0; i < (*num_pt_loads); i++) {
06c2a2
-- 
06c2a2
2.7.4
06c2a2