LKML Archive on lore.kernel.org
 help / color / Atom feed
From: Dave Young <dyoung@redhat.com>
To: Chao Fan <fanc.fnst@cn.fujitsu.com>
Cc: Junichi Nomura <j-nomura@ce.jp.nec.com>,
	Borislav Petkov <bp@alien8.de>, "bhe@redhat.com" <bhe@redhat.com>,
	"kasong@redhat.com" <kasong@redhat.com>,
	"x86@kernel.org" <x86@kernel.org>,
	"kexec@lists.infradead.org" <kexec@lists.infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v2] x86/boot: Use efi_setup_data for searching RSDP on kexec-ed kernel
Date: Wed, 3 Apr 2019 14:39:11 +0800
Message-ID: <20190403063911.GA2579@dhcp-128-65.nay.redhat.com> (raw)
In-Reply-To: <20190403055340.GA11976@dhcp-128-65.nay.redhat.com>

On 04/03/19 at 01:53pm, Dave Young wrote:
> On 04/03/19 at 01:35pm, Chao Fan wrote:
> > On Tue, Apr 02, 2019 at 08:03:19PM +0800, Dave Young wrote:
> > >On 04/01/19 at 12:08am, Junichi Nomura wrote:
> > >> Commit 3a63f70bf4c3a ("x86/boot: Early parse RSDP and save it in
> > >> boot_params") broke kexec boot on EFI systems.  efi_get_rsdp_addr()
> > >> in the early parsing code tries to search RSDP from EFI table but
> > >> that will crash because the table address is virtual when the kernel
> > >> was booted by kexec.
> > >> 
> > >> In the case of kexec, physical address of EFI tables is provided
> > >> via efi_setup_data in boot_params, which is set up by kexec(1).
> > >> 
> > >> Factor out the table parsing code and use different pointers depending
> > >> on whether the kernel is booted by kexec or not.
> > >> 
> > >> Fixes: 3a63f70bf4c3a ("x86/boot: Early parse RSDP and save it in boot_params")
> > >> Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
> > >> Acked-by: Baoquan He <bhe@redhat.com>
> > >> Cc: Chao Fan <fanc.fnst@cn.fujitsu.com>
> > >> Cc: Borislav Petkov <bp@suse.de>
> > >> Cc: Dave Young <dyoung@redhat.com>
> > [...]
> > >
> > >I failed to kexec reboot on my laptop, kernel panics too quick,  I'm not sure this is
> > >caused by your patch though.
> > >
> > >Actually there are something probably i915 changes break kexec,  the
> > >above test is with "nomodeset" which should work.
> > >
> > >Let me do more testing and update here tomorrow.
> > >
> > 
> > Hi Dave,
> > 
> > Last day I was testing the normal kexec, today I have tested the kdump
> > issue. Since the kdump has set "nokaslr" to cmdline, so I drop from
> > KDUMP_COMMANDLINE_APPEND
> > And it booted OK, so the PATCH works in both normal kexec and kdump.
> > 
> 
> Actually I got some different kexec test results.
> 
> Yesterday, with my installed kernel (based on git head several weeks
> ago), kexec kernel panics.
> 
> Then I tried latest mainline with git pull, everything works, (with or
> without the patch, and can not reproduce the bug this patch is fixing)
> 
> Today, test again, kexec reboot hangs (with or without your patch), but
> kdump works always (with or without the patch)
> 
> It is weird to me. Probably I need find out why I can not reproduce the
> bug this patch is addressing first.
> 
> earlyprintk seems not working for me anymore, it is not easy to debug on
> laptop now.
> 
> But the patch itself is clear, I think it should be good.  There might be
> other things broken.

Disable your immovable mem code then everything works for me.  There
might be something wrong in the code.  Also "nokaslr" does not help, it
should be another problem 

diff --git a/arch/x86/boot/compressed/kaslr.c b/arch/x86/boot/compressed/kaslr.c
index 2e53c056ba20..e760c9159662 100644
--- a/arch/x86/boot/compressed/kaslr.c
+++ b/arch/x86/boot/compressed/kaslr.c
@@ -416,7 +416,7 @@ static void mem_avoid_init(unsigned long input, unsigned long input_size,
 	handle_mem_options();
 
 	/* Enumerate the immovable memory regions */
-	num_immovable_mem = count_immovable_mem_regions();
+	/*num_immovable_mem = count_immovable_mem_regions();*/
 
 #ifdef CONFIG_X86_VERBOSE_BOOTUP
 	/* Make sure video RAM can be used. */
diff --git a/arch/x86/boot/compressed/misc.c b/arch/x86/boot/compressed/misc.c
index c0d6c560df69..1bc6f46d3aa7 100644
--- a/arch/x86/boot/compressed/misc.c
+++ b/arch/x86/boot/compressed/misc.c
@@ -352,7 +352,7 @@ asmlinkage __visible void *extract_kernel(void *rmode, memptr heap,
 	boot_params->hdr.loadflags &= ~KASLR_FLAG;
 
 	/* Save RSDP address for later use. */
-	boot_params->acpi_rsdp_addr = get_rsdp_addr();
+/*	boot_params->acpi_rsdp_addr = get_rsdp_addr(); */
 
 	sanitize_boot_params(boot_params);
 

  reply index

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-22 11:03 [PATCH] x86/boot: Use EFI setup data if provided Junichi Nomura
2019-03-22 15:23 ` Borislav Petkov
2019-03-25  0:27   ` Junichi Nomura
2019-03-25  6:01     ` Dave Young
2019-03-25  6:19       ` Dave Young
2019-03-25  6:45         ` Kairui Song
2019-03-25  6:47         ` Junichi Nomura
2019-03-25  6:59           ` Dave Young
2019-03-25  8:27             ` [PATCH v2] " Junichi Nomura
2019-03-25  8:54               ` Boris Petkov
2019-03-25  9:25                 ` [PATCH v2] x86/boot: Don't try to search RSDP from EFI when kexec-booted Junichi Nomura
2019-03-25 10:15                 ` [PATCH v2] x86/boot: Use EFI setup data if provided Dave Young
2019-03-25 10:36                   ` Junichi Nomura
2019-03-25 11:16                     ` Dave Young
2019-03-25 12:01                     ` Borislav Petkov
2019-03-25 12:23                       ` Dave Young
2019-03-25 12:32                         ` Borislav Petkov
2019-03-25 23:10                           ` Junichi Nomura
2019-03-26 12:46                             ` Dave Young
2019-03-26 13:57                             ` Borislav Petkov
2019-03-27  1:48                               ` bhe
2019-03-27 12:14                                 ` Borislav Petkov
2019-03-28  4:17                                 ` Junichi Nomura
2019-03-28  6:26                                   ` Chao Fan
2019-03-28  6:43                                   ` bhe
2019-03-28  7:43                                     ` Junichi Nomura
2019-03-28 15:52                                       ` Borislav Petkov
2019-03-29  3:05                                         ` Junichi Nomura
2019-03-29  8:39                                           ` Borislav Petkov
2019-03-29  9:05                                             ` Chao Fan
2019-03-29  9:16                                               ` Borislav Petkov
2019-03-29  9:37                                                 ` Junichi Nomura
2019-03-29  9:44                                                   ` Chao Fan
2019-03-29  9:56                                                     ` Junichi Nomura
2019-03-29  7:20                                         ` [PATCH] x86/boot: Use efi_setup_data for searching RSDP on kexec-ed kernel Junichi Nomura
2019-03-29  7:49                                           ` bhe
2019-03-29  8:29                                           ` Chao Fan
2019-03-29  8:39                                             ` Junichi Nomura
2019-03-29  9:18                                               ` Chao Fan
2019-03-29  9:16                                             ` bhe
2019-03-29  9:20                                               ` Chao Fan
2019-04-01  0:08                                         ` [PATCH v2] " Junichi Nomura
2019-04-02  9:41                                           ` Chao Fan
2019-04-02  9:53                                             ` Junichi Nomura
2019-04-02 11:06                                               ` Chao Fan
2019-04-02 10:22                                                 ` Junichi Nomura
2019-04-02 12:03                                           ` Dave Young
2019-04-03  5:35                                             ` Chao Fan
2019-04-03  5:53                                               ` Dave Young
2019-04-03  6:39                                                 ` Dave Young [this message]
2019-04-03  7:30                                                   ` Chao Fan
2019-04-03  7:50                                                     ` bhe
2019-04-03  8:23                                                       ` Dave Young
2019-04-03  8:26                                                         ` Dave Young
2019-04-03 16:14                                                           ` Borislav Petkov
2019-04-04  1:02                                                             ` Chao Fan
2019-04-03  9:28                                                       ` Chao Fan
2019-04-03  7:21                                                 ` Chao Fan
2019-04-03  8:09                                                   ` Dave Young
2019-04-03  8:23                                                     ` Chao Fan
2019-04-03  9:02                                                       ` Chao Fan
2019-04-03  9:39                                                         ` Chao Fan
2019-04-04  1:23                                                         ` Junichi Nomura
2019-04-04  2:52                                                           ` Dave Young
2019-04-04  3:00                                                             ` bhe
2019-04-04  3:10                                                               ` bhe
2019-04-04  3:22                                                                 ` Dave Young
2019-04-04  6:41                                                                   ` Dave Young
2019-04-04  7:20                                                                     ` Chao Fan
2019-04-04  7:41                                                                       ` Dave Young
2019-04-04  7:48                                                                         ` Chao Fan
2019-04-04 12:22                                                                         ` Borislav Petkov
2019-04-04 14:08                                                                           ` Dave Young
2019-04-03  8:18                                                   ` Dave Young
2019-04-02 10:25                                         ` [PATCH v3] " Junichi Nomura
2019-04-04  7:32                                           ` Dave Young
2019-04-04 12:24                                             ` Borislav Petkov
2019-04-04 14:12                                               ` Dave Young
2019-04-04 14:41                                                 ` Borislav Petkov
2019-04-05  1:36                                                   ` Dave Young
2019-04-05  4:19                                             ` Junichi Nomura
2019-03-28 23:11                                       ` [PATCH v2] x86/boot: Use EFI setup data if provided bhe
2019-03-29  3:34                                         ` Junichi Nomura
2019-03-29  3:52                                           ` bhe
2019-03-29  5:16                                             ` Junichi Nomura
2019-03-25  7:27   ` [PATCH] " Baoquan He
2019-03-25  7:53     ` Borislav Petkov
2019-03-25  8:21       ` Baoquan He
2019-03-25  8:43         ` Thomas Gleixner
2019-03-25  9:03           ` Baoquan He

Reply instructions:

You may reply publically to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190403063911.GA2579@dhcp-128-65.nay.redhat.com \
    --to=dyoung@redhat.com \
    --cc=bhe@redhat.com \
    --cc=bp@alien8.de \
    --cc=fanc.fnst@cn.fujitsu.com \
    --cc=j-nomura@ce.jp.nec.com \
    --cc=kasong@redhat.com \
    --cc=kexec@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

LKML Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/lkml/0 lkml/git/0.git
	git clone --mirror https://lore.kernel.org/lkml/1 lkml/git/1.git
	git clone --mirror https://lore.kernel.org/lkml/2 lkml/git/2.git
	git clone --mirror https://lore.kernel.org/lkml/3 lkml/git/3.git
	git clone --mirror https://lore.kernel.org/lkml/4 lkml/git/4.git
	git clone --mirror https://lore.kernel.org/lkml/5 lkml/git/5.git
	git clone --mirror https://lore.kernel.org/lkml/6 lkml/git/6.git
	git clone --mirror https://lore.kernel.org/lkml/7 lkml/git/7.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 lkml lkml/ https://lore.kernel.org/lkml \
		linux-kernel@vger.kernel.org
	public-inbox-index lkml

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git