diff for duplicates of <20180115055701.GA9071@vader> diff --git a/a/1.txt b/N1/1.txt index d4e161a..95e1439 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -104,57 +104,3 @@ different values for mem_section. That seems... odd. I had to patch makedumpfile to fix the case of an explicit vmlinux being passed on the command line (which I realized I don't need to do, but it should still work): - -From 542a11a8f28b0f0a989abc3adff89da22f44c719 Mon Sep 17 00:00:00 2001 -Message-Id: <542a11a8f28b0f0a989abc3adff89da22f44c719.1515995400.git.osandov@fb.com> -From: Omar Sandoval <osandov@fb.com> -Date: Sun, 14 Jan 2018 17:10:30 -0800 -Subject: [PATCH] Fix SPARSEMEM_EXTREME support on Linux v4.15 when passing - vmlinux - -Since kernel commit 83e3c48729d9 ("mm/sparsemem: Allocate mem_section at -runtime for CONFIG_SPARSEMEM_EXTREME=y"), mem_section is a dynamically -allocated array of pointers to mem_section instead of a static one -(i.e., struct mem_section ** instead of struct mem_section * []). This -adds an extra layer of indirection that breaks makedumpfile, which will -end up with a bunch of bogus mem_maps. - -Since kernel commit a0b1280368d1 ("kdump: write correct address of -mem_section into vmcoreinfo"), the mem_section symbol in vmcoreinfo -contains the address of the actual struct mem_section * array instead of -the address of the pointer in .bss, which gets rid of the extra -indirection. However, makedumpfile still uses the debugging symbol from -the vmlinux image. Fix this by allowing symbols from the vmcore to -override symbols from the vmlinux image. As the comment in initial() -says, "vmcoreinfo in /proc/vmcore is more reliable than -x/-i option". - -Signed-off-by: Omar Sandoval <osandov@fb.com> ---- - makedumpfile.h | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/makedumpfile.h b/makedumpfile.h -index 57cf4d9..d68c798 100644 ---- a/makedumpfile.h -+++ b/makedumpfile.h -@@ -274,8 +274,10 @@ do { \ - } while (0) - #define READ_SYMBOL(str_symbol, symbol) \ - do { \ -- if (SYMBOL(symbol) == NOT_FOUND_SYMBOL) { \ -- SYMBOL(symbol) = read_vmcoreinfo_symbol(STR_SYMBOL(str_symbol)); \ -+ unsigned long _tmp_symbol; \ -+ _tmp_symbol = read_vmcoreinfo_symbol(STR_SYMBOL(str_symbol)); \ -+ if (_tmp_symbol != NOT_FOUND_SYMBOL) { \ -+ SYMBOL(symbol) = _tmp_symbol; \ - if (SYMBOL(symbol) == INVALID_SYMBOL_DATA) \ - return FALSE; \ - } \ --- -2.9.5 - - -_______________________________________________ -kexec mailing list -kexec@lists.infradead.org -http://lists.infradead.org/mailman/listinfo/kexec diff --git a/a/content_digest b/N1/content_digest index fcc240b..4dc02e4 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -12,24 +12,24 @@ "Subject\0Re: [PATCH 4.14 023/159] mm/sparsemem: Allocate mem_section at runtime for CONFIG_SPARSEMEM_EXTREME=y\0" "Date\0Sun, 14 Jan 2018 21:57:01 -0800\0" "To\0Dave Young <dyoung@redhat.com>\0" - "Cc\0Baoquan He <bhe@redhat.com>" - Peter Zijlstra <peterz@infradead.org> - Greg Kroah-Hartman <gregkh@linuxfoundation.org> + "Cc\0Kirill A. Shutemov <kirill.shutemov@linux.intel.com>" + Andrew Morton <akpm@linux-foundation.org> + Kirill A. Shutemov <kirill@shutemov.name> + Baoquan He <bhe@redhat.com> + Ingo Molnar <mingo@kernel.org> Mike Galbraith <efault@gmx.de> - kexec@lists.infradead.org + Greg Kroah-Hartman <gregkh@linuxfoundation.org> linux-kernel@vger.kernel.org stable@vger.kernel.org Andy Lutomirski <luto@amacapital.net> - linux-mm@kvack.org - Thomas Gleixner <tglx@linutronix.de> - Vivek Goyal <vgoyal@redhat.com> - Cyrill Gorcunov <gorcunov@openvz.org> - Kirill A. Shutemov <kirill@shutemov.name> - Andrew Morton <akpm@linux-foundation.org> Borislav Petkov <bp@suse.de> + Cyrill Gorcunov <gorcunov@openvz.org> Linus Torvalds <torvalds@linux-foundation.org> - Ingo Molnar <mingo@kernel.org> - " Kirill A. Shutemov <kirill.shutemov@linux.intel.com>\0" + Peter Zijlstra <peterz@infradead.org> + Thomas Gleixner <tglx@linutronix.de> + linux-mm@kvack.org + Vivek Goyal <vgoyal@redhat.com> + " kexec@lists.infradead.org\0" "\00:1\0" "b\0" "On Fri, Jan 12, 2018 at 08:55:49AM +0800, Dave Young wrote:\n" @@ -137,60 +137,6 @@ "different values for mem_section. That seems... odd. I had to patch\n" "makedumpfile to fix the case of an explicit vmlinux being passed on the\n" "command line (which I realized I don't need to do, but it should still\n" - "work):\n" - "\n" - "From 542a11a8f28b0f0a989abc3adff89da22f44c719 Mon Sep 17 00:00:00 2001\n" - "Message-Id: <542a11a8f28b0f0a989abc3adff89da22f44c719.1515995400.git.osandov@fb.com>\n" - "From: Omar Sandoval <osandov@fb.com>\n" - "Date: Sun, 14 Jan 2018 17:10:30 -0800\n" - "Subject: [PATCH] Fix SPARSEMEM_EXTREME support on Linux v4.15 when passing\n" - " vmlinux\n" - "\n" - "Since kernel commit 83e3c48729d9 (\"mm/sparsemem: Allocate mem_section at\n" - "runtime for CONFIG_SPARSEMEM_EXTREME=y\"), mem_section is a dynamically\n" - "allocated array of pointers to mem_section instead of a static one\n" - "(i.e., struct mem_section ** instead of struct mem_section * []). This\n" - "adds an extra layer of indirection that breaks makedumpfile, which will\n" - "end up with a bunch of bogus mem_maps.\n" - "\n" - "Since kernel commit a0b1280368d1 (\"kdump: write correct address of\n" - "mem_section into vmcoreinfo\"), the mem_section symbol in vmcoreinfo\n" - "contains the address of the actual struct mem_section * array instead of\n" - "the address of the pointer in .bss, which gets rid of the extra\n" - "indirection. However, makedumpfile still uses the debugging symbol from\n" - "the vmlinux image. Fix this by allowing symbols from the vmcore to\n" - "override symbols from the vmlinux image. As the comment in initial()\n" - "says, \"vmcoreinfo in /proc/vmcore is more reliable than -x/-i option\".\n" - "\n" - "Signed-off-by: Omar Sandoval <osandov@fb.com>\n" - "---\n" - " makedumpfile.h | 6 ++++--\n" - " 1 file changed, 4 insertions(+), 2 deletions(-)\n" - "\n" - "diff --git a/makedumpfile.h b/makedumpfile.h\n" - "index 57cf4d9..d68c798 100644\n" - "--- a/makedumpfile.h\n" - "+++ b/makedumpfile.h\n" - "@@ -274,8 +274,10 @@ do { \\\n" - " } while (0)\n" - " #define READ_SYMBOL(str_symbol, symbol) \\\n" - " do { \\\n" - "-\tif (SYMBOL(symbol) == NOT_FOUND_SYMBOL) { \\\n" - "-\t\tSYMBOL(symbol) = read_vmcoreinfo_symbol(STR_SYMBOL(str_symbol)); \\\n" - "+\tunsigned long _tmp_symbol; \\\n" - "+\t_tmp_symbol = read_vmcoreinfo_symbol(STR_SYMBOL(str_symbol)); \\\n" - "+\tif (_tmp_symbol != NOT_FOUND_SYMBOL) { \\\n" - "+\t\tSYMBOL(symbol) = _tmp_symbol; \\\n" - " \t\tif (SYMBOL(symbol) == INVALID_SYMBOL_DATA) \\\n" - " \t\t\treturn FALSE; \\\n" - " \t} \\\n" - "-- \n" - "2.9.5\n" - "\n" - "\n" - "_______________________________________________\n" - "kexec mailing list\n" - "kexec@lists.infradead.org\n" - http://lists.infradead.org/mailman/listinfo/kexec + work): -63e493fecf6244e7e5dff82c2baf214adc350b34abd37d2fb363c4a60c4d0e10 +b0a8c9b2384072e4dfcf48a23f4728b1cff319370a91ce849e7ad92b3520fff1
diff --git a/a/1.txt b/N2/1.txt index d4e161a..591e842 100644 --- a/a/1.txt +++ b/N2/1.txt @@ -105,7 +105,7 @@ makedumpfile to fix the case of an explicit vmlinux being passed on the command line (which I realized I don't need to do, but it should still work): -From 542a11a8f28b0f0a989abc3adff89da22f44c719 Mon Sep 17 00:00:00 2001 +>From 542a11a8f28b0f0a989abc3adff89da22f44c719 Mon Sep 17 00:00:00 2001 Message-Id: <542a11a8f28b0f0a989abc3adff89da22f44c719.1515995400.git.osandov@fb.com> From: Omar Sandoval <osandov@fb.com> Date: Sun, 14 Jan 2018 17:10:30 -0800 @@ -152,9 +152,3 @@ index 57cf4d9..d68c798 100644 } \ -- 2.9.5 - - -_______________________________________________ -kexec mailing list -kexec@lists.infradead.org -http://lists.infradead.org/mailman/listinfo/kexec diff --git a/a/content_digest b/N2/content_digest index fcc240b..de25868 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -12,24 +12,24 @@ "Subject\0Re: [PATCH 4.14 023/159] mm/sparsemem: Allocate mem_section at runtime for CONFIG_SPARSEMEM_EXTREME=y\0" "Date\0Sun, 14 Jan 2018 21:57:01 -0800\0" "To\0Dave Young <dyoung@redhat.com>\0" - "Cc\0Baoquan He <bhe@redhat.com>" - Peter Zijlstra <peterz@infradead.org> - Greg Kroah-Hartman <gregkh@linuxfoundation.org> + "Cc\0Kirill A. Shutemov <kirill.shutemov@linux.intel.com>" + Andrew Morton <akpm@linux-foundation.org> + Kirill A. Shutemov <kirill@shutemov.name> + Baoquan He <bhe@redhat.com> + Ingo Molnar <mingo@kernel.org> Mike Galbraith <efault@gmx.de> - kexec@lists.infradead.org + Greg Kroah-Hartman <gregkh@linuxfoundation.org> linux-kernel@vger.kernel.org stable@vger.kernel.org Andy Lutomirski <luto@amacapital.net> - linux-mm@kvack.org - Thomas Gleixner <tglx@linutronix.de> - Vivek Goyal <vgoyal@redhat.com> - Cyrill Gorcunov <gorcunov@openvz.org> - Kirill A. Shutemov <kirill@shutemov.name> - Andrew Morton <akpm@linux-foundation.org> Borislav Petkov <bp@suse.de> + Cyrill Gorcunov <gorcunov@openvz.org> Linus Torvalds <torvalds@linux-foundation.org> - Ingo Molnar <mingo@kernel.org> - " Kirill A. Shutemov <kirill.shutemov@linux.intel.com>\0" + Peter Zijlstra <peterz@infradead.org> + Thomas Gleixner <tglx@linutronix.de> + linux-mm@kvack.org + Vivek Goyal <vgoyal@redhat.com> + " kexec@lists.infradead.org\0" "\00:1\0" "b\0" "On Fri, Jan 12, 2018 at 08:55:49AM +0800, Dave Young wrote:\n" @@ -139,7 +139,7 @@ "command line (which I realized I don't need to do, but it should still\n" "work):\n" "\n" - "From 542a11a8f28b0f0a989abc3adff89da22f44c719 Mon Sep 17 00:00:00 2001\n" + ">From 542a11a8f28b0f0a989abc3adff89da22f44c719 Mon Sep 17 00:00:00 2001\n" "Message-Id: <542a11a8f28b0f0a989abc3adff89da22f44c719.1515995400.git.osandov@fb.com>\n" "From: Omar Sandoval <osandov@fb.com>\n" "Date: Sun, 14 Jan 2018 17:10:30 -0800\n" @@ -185,12 +185,6 @@ " \t\t\treturn FALSE; \\\n" " \t} \\\n" "-- \n" - "2.9.5\n" - "\n" - "\n" - "_______________________________________________\n" - "kexec mailing list\n" - "kexec@lists.infradead.org\n" - http://lists.infradead.org/mailman/listinfo/kexec + 2.9.5 -63e493fecf6244e7e5dff82c2baf214adc350b34abd37d2fb363c4a60c4d0e10 +7184973683bcc77562d77afae03fad7b8e9ebed76a5b6e7394e6eac82ff9888a
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.