File makedumpfile-ppc64-VA-range-SUSE.patch of Package makedumpfile

From: Petr Tesarik <ptesarik@suse.cz>
Subject: Use correct l3 index size with SLE15-SP1 ppc64le kernels
References: bsc#1123015
Upstream: never, SUSE-specific

SLE 15 SP1 backported commit c2b4d8b7417a ("powerpc/mm/hash64: Increase
the VA range"), to Linux 4.12, so let's check SUSE_PRODUCT_CODE.

Signed-off-by: Petr Tesarik <ptesarik@suse.cz>
---
 arch/ppc64.c   |    3 ++-
 makedumpfile.c |    4 ++++
 makedumpfile.h |    3 +++
 3 files changed, 9 insertions(+), 1 deletion(-)
diff -ur a/arch/ppc64.c b/arch/ppc64.c
--- a/arch/ppc64.c	2018-12-04 21:21:52.000000000 +0100
+++ b/arch/ppc64.c	2019-07-05 11:25:20.318510887 +0200
@@ -248,7 +248,9 @@
 
 			if (info->kernel_version >= KERNEL_VERSION(4, 12, 0)) {
 				info->l2_index_size = PMD_INDEX_SIZE_L4_64K_4_12;
-				if (info->kernel_version >= KERNEL_VERSION(4, 17, 0))
+				if (info->kernel_version >= KERNEL_VERSION(4, 17, 0) ||
+				    ((NUMBER(SUSE_PRODUCT_CODE) & ~0xffL) == 0x010f0100) ||
+				    ((NUMBER(SUSE_PRODUCT_CODE) & ~0xffL) == 0x010c0500))
 					info->l3_index_size = PUD_INDEX_SIZE_L4_64K_4_17;
 				else
 					info->l3_index_size = PUD_INDEX_SIZE_L4_64K_4_12;
diff -ur a/makedumpfile.c b/makedumpfile.c
--- a/makedumpfile.c	2018-12-04 21:21:52.000000000 +0100
+++ b/makedumpfile.c	2019-07-05 11:23:32.357093984 +0200
@@ -2296,6 +2296,8 @@
 	WRITE_NUMBER_UNSIGNED("kimage_voffset", kimage_voffset);
 #endif
 
+	WRITE_NUMBER("SUSE_PRODUCT_CODE", SUSE_PRODUCT_CODE);
+
 	if (info->phys_base)
 		fprintf(info->file_vmcoreinfo, "%s%lu\n", STR_NUMBER("phys_base"),
 			info->phys_base);
@@ -2696,6 +2698,8 @@
 
 	READ_NUMBER("HUGETLB_PAGE_DTOR", HUGETLB_PAGE_DTOR);
 
+	READ_NUMBER("SUSE_PRODUCT_CODE", SUSE_PRODUCT_CODE);
+
 	return TRUE;
 }
 
diff -ur a/makedumpfile.h b/makedumpfile.h
--- a/makedumpfile.h	2018-12-04 21:21:52.000000000 +0100
+++ b/makedumpfile.h	2019-07-05 11:23:32.353093931 +0200
@@ -1936,6 +1936,9 @@
 	unsigned long	PHYS_OFFSET;
 	unsigned long	kimage_voffset;
 #endif
+
+	/* Distro-specific */
+	long	SUSE_PRODUCT_CODE;
 };
 
 struct srcfile_table {
openSUSE Build Service is sponsored by