kexec-tools/kexec-tools-2.0.14-makedumpfile-makedumpfile-Discard-process_dump_load.patch

58 lines
1.8 KiB
Diff
Raw Normal View History

Fix `makedumpfile --mem-usage /proc/kcore` Patches have been taken from kexec-tools and makedumpfile to fix issue with `makedumpfile --mem-usage /proc/kcore`. Two of the patches is from kexec-tools and rest are from makedumpfile. All the patches have been acked upstream and applies without conflict. Kexec-tools patches: (kexec-tools-2.0.14-x86-x86_64-Fix-format-warning-with-die.patch), which fixes koji build issue. kexec-tools-2.0.14-build_mem_phdrs-check-if-p_paddr-is-invalid.patch fixes the regresssion caused by kernel /proc/kcore fix to use -1 as default value of p_paddr for pt_loads. Without his patch kexec -p will fail with latest kernel. Other makedumpfile patches are backported to support --mem-usage while kernel kaslr being enabled. Details please see the patch log of the individual patches. All the patches are backport of upstream commits. Patches has been tested with kernel 4.11.0-0.rc1.git0.1.fc26.x86_64. # makedumpfile --mem-usage /proc/kcore -f The kernel version is not supported. The makedumpfile operation may be incomplete. TYPE PAGES EXCLUDABLE DESCRIPTION ---------------------------------------------------------------------- ZERO 1960 yes Pages filled with zero NON_PRI_CACHE 22850 yes Cache pages without private flag PRI_CACHE 1517 yes Cache pages with private flag USER 32522 yes User process pages FREE 1898981 yes Free pages KERN_DATA 78721 no Dumpable kernel data page size: 4096 Total pages on system: 2036551 Total size on system: 8341712896 Byte We won't need to pass -f once fedora kernel is rebased with v4.12. Signed-off-by: Pratyush Anand <panand@redhat.com> Acked-by: Dave Young <dyoung@redhat.com>
2017-03-14 15:28:30 +00:00
From f3ff8c6232de43fa2cc60f5ca0f233cf8eb8d2ad Mon Sep 17 00:00:00 2001
Message-Id: <f3ff8c6232de43fa2cc60f5ca0f233cf8eb8d2ad.1489471500.git.panand@redhat.com>
In-Reply-To: <4b0bed3523a5f6c2c428d9dab3d27d4572207d52.1489471500.git.panand@redhat.com>
References: <4b0bed3523a5f6c2c428d9dab3d27d4572207d52.1489471500.git.panand@redhat.com>
From: Baoquan He <bhe@redhat.com>
Date: Thu, 2 Mar 2017 17:37:23 +0900
Subject: [PATCH 6/7] [PATCH v3 6/7] makedumpfile: Discard process_dump_load
Kernel commit 464920104bf7 (/proc/kcore: update physical address for
kcore ram and text) provides physical address of direct mapping kcore
program segments. So no need to calculate it specifically now. And the
old code is not correct since it calls vaddr_to_paddr() which has not
been ready at that time.
Signed-off-by: Baoquan He <bhe@redhat.com>
---
elf_info.c | 17 -----------------
1 file changed, 17 deletions(-)
diff --git a/makedumpfile-1.6.1/elf_info.c b/makedumpfile-1.6.1/elf_info.c
index 100272f83c48..8e2437622141 100644
--- a/makedumpfile-1.6.1/elf_info.c
+++ b/makedumpfile-1.6.1/elf_info.c
@@ -857,22 +857,6 @@ static int exclude_segment(struct pt_load_segment **pt_loads,
return 0;
}
-static int
-process_dump_load(struct pt_load_segment *pls)
-{
- unsigned long long paddr;
-
- paddr = vaddr_to_paddr(pls->virt_start);
- pls->phys_start = paddr;
- pls->phys_end = paddr + (pls->virt_end - pls->virt_start);
- DEBUG_MSG("process_dump_load\n");
- DEBUG_MSG(" phys_start : %llx\n", pls->phys_start);
- DEBUG_MSG(" phys_end : %llx\n", pls->phys_end);
- DEBUG_MSG(" virt_start : %llx\n", pls->virt_start);
- DEBUG_MSG(" virt_end : %llx\n", pls->virt_end);
-
- return TRUE;
-}
int get_kcore_dump_loads(void)
{
@@ -917,7 +901,6 @@ int get_kcore_dump_loads(void)
}
pls[j] = *p;
- process_dump_load(&pls[j]);
j++;
}
--
2.9.3