Hello community,

here is the log from the commit of package crash for openSUSE:Factory checked 
in at 2019-08-13 13:27:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/crash (Old)
 and      /work/SRC/openSUSE:Factory/.crash.new.9556 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "crash"

Tue Aug 13 13:27:21 2019 rev:155 rq:722902 version:7.2.6

Changes:
--------
--- /work/SRC/openSUSE:Factory/crash/crash.changes      2019-06-28 
16:36:57.346871761 +0200
+++ /work/SRC/openSUSE:Factory/.crash.new.9556/crash.changes    2019-08-13 
13:27:25.293321168 +0200
@@ -1,0 +2,7 @@
+Thu Aug  8 15:22:17 UTC 2019 - David Mair <[email protected]>
+
+- Add patch for commit 326e1b8f83a4318b09033ef754f40c785aed5e68
+  in linux 5.3:
+  crash-allow-kmem-section-is-early.patch
+
+-------------------------------------------------------------------

New:
----
  crash-allow-kmem-section-is-early.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ crash.spec ++++++
--- /var/tmp/diff_new_pack.soeSu5/_old  2019-08-13 13:27:26.625320818 +0200
+++ /var/tmp/diff_new_pack.soeSu5/_new  2019-08-13 13:27:26.625320818 +0200
@@ -83,6 +83,7 @@
 Patch15:        %{name}_enable_snappy_support.patch
 Patch16:        eppic-support-arm64.patch
 Patch21:        %{name}-allow-use-of-sadump-captured-KASLR-kernel.patch
+Patch22:        %{name}-allow-kmem-section-is-early.patch
 Patch90:        %{name}-sial-ps-2.6.29.diff
 BuildRequires:  bison
 BuildRequires:  flex
@@ -278,6 +279,7 @@
 %patch11 -p1
 %patch13 -p1
 %patch21 -p1
+%patch22 -p1
 %if %{have_snappy}
 %patch15 -p1
 %endif

++++++ crash-allow-kmem-section-is-early.patch ++++++
Update for the "kmem -n" option on Linux 5.3-rc1 and later kernels that
contain commit 326e1b8f83a4318b09033ef754f40c785aed5e68, titled
"mm/sparsemem: introduce a SECTION_IS_EARLY flag". With this patch,
the option displays a new state "E" for the flag, instead of printing
incorrect mem_map addresses.

Also update the confusing comment with the one from kernel commit
def9b71ee651a6fee93a10734b94f93a69cdb2d4, titled "include/linux/mmzone.h:
fix explanation of lower bits in the SPARSEMEM mem_map pointer".

Signed-off-by: Kazuhito Hagio <[email protected]>
---
 help.c   |  4 ++--
 memory.c | 17 ++++++++++++++---
 2 files changed, 16 insertions(+), 5 deletions(-)

Index: b/help.c
===================================================================
--- a/help.c
+++ b/help.c
@@ -6633,8 +6633,8 @@ char *help_kmem[] = {
 "            the cumulative, vm_event_states counter values if they exist.",
 "        -n  display memory node, memory section, and memory block data",
 "            and state; the state of each memory section state is encoded",
-"            as \"P\", \"M\" and/or \"O\", meaning SECTION_MARKED_PRESENT,",
-"            SECTION_HAS_MEM_MAP and SECTION_IS_ONLINE.",
+"            as \"P\", \"M\", \"O\" and/or \"E\", meaning 
SECTION_MARKED_PRESENT,",
+"            SECTION_HAS_MEM_MAP, SECTION_IS_ONLINE and SECTION_IS_EARLY.",
 "        -z  displays per-zone memory statistics.",
 "        -o  displays each cpu's offset value that is added to per-cpu symbol",
 "            values to translate them into kernel virtual addresses.",
Index: b/memory.c
===================================================================
--- a/memory.c
+++ b/memory.c
@@ -17122,13 +17122,22 @@ nr_to_section(ulong nr)
 
 /*
  * We use the lower bits of the mem_map pointer to store
- * a little bit of information.  There should be at least
- * 3 bits here due to 32-bit alignment.
+ * a little bit of information.  The pointer is calculated
+ * as mem_map - section_nr_to_pfn(pnum).  The result is
+ * aligned to the minimum alignment of the two values:
+ *   1. All mem_map arrays are page-aligned.
+ *   2. section_nr_to_pfn() always clears PFN_SECTION_SHIFT
+ *      lowest bits.  PFN_SECTION_SHIFT is arch-specific
+ *      (equal SECTION_SIZE_BITS - PAGE_SHIFT), and the
+ *      worst combination is powerpc with 256k pages,
+ *      which results in PFN_SECTION_SHIFT equal 6.
+ * To sum it up, at least 6 bits are available.
  */
 #define SECTION_MARKED_PRESENT (1UL<<0)
 #define SECTION_HAS_MEM_MAP    (1UL<<1)
 #define SECTION_IS_ONLINE      (1UL<<2)
-#define SECTION_MAP_LAST_BIT   (1UL<<3)
+#define SECTION_IS_EARLY       (1UL<<3)
+#define SECTION_MAP_LAST_BIT   (1UL<<4)
 #define SECTION_MAP_MASK       (~(SECTION_MAP_LAST_BIT-1))
 
 
@@ -17225,6 +17234,8 @@ fill_mem_section_state(ulong state, char
                bufidx += sprintf(buf + bufidx, "%s", "M");
        if (state & SECTION_IS_ONLINE)
                bufidx += sprintf(buf + bufidx, "%s", "O");
+       if (state & SECTION_IS_EARLY)
+               bufidx += sprintf(buf + bufidx, "%s", "E");
 }
 
 void 


Reply via email to