From: "bhe@redhat.com" <bhe@redhat.com> To: Chao Fan <fanc.fnst@cn.fujitsu.com> Cc: Junichi Nomura <j-nomura@ce.jp.nec.com>, Borislav Petkov <bp@alien8.de>, Dave Young <dyoung@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] x86/boot: Use efi_setup_data for searching RSDP on kexec-ed kernel Date: Fri, 29 Mar 2019 17:16:55 +0800 [thread overview] Message-ID: <20190329091655.GE7627@MiWiFi-R3L-srv> (raw) In-Reply-To: <20190329082929.GH4234@localhost.localdomain> On 03/29/19 at 04:29pm, Chao Fan wrote: > On Fri, Mar 29, 2019 at 07:20:38AM +0000, 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. > [...] > >- guid = tbl->guid; > >- table = tbl->table; > >- } > >- > >- if (!(efi_guidcmp(guid, ACPI_TABLE_GUID))) > >- rsdp_addr = table; > >- else if (!(efi_guidcmp(guid, ACPI_20_TABLE_GUID))) > >- return table; > >- } > >+ return __efi_get_rsdp_addr(config_tables, nr_tables, efi_64); > >+#else > >+ return 0; > > #endif > >- return rsdp_addr; > > I remeber the rsdp_addr is defined before #ifdef CONFIG_EFI > If so, you don't need > #else > return 0; it doesn't change the old logic. Junichi moved rsdp_addr definition inside the CONFIG_EFI iedeffery block. > > BY the way, what's your patch based on? I like add patch on my local > branch and then review code, but failed. > I try to use 'patch -p1 <' your patch to the latest tip master branch, > but failed. > > Thanks, > Chao Fan > > > } > > > > static u8 compute_checksum(u8 *buffer, u32 length) > >@@ -221,6 +284,9 @@ acpi_physical_address get_rsdp_addr(void) > > pa = boot_params->acpi_rsdp_addr; > > > > if (!pa) > >+ pa = kexec_get_rsdp_addr(); > >+ > >+ if (!pa) > > pa = efi_get_rsdp_addr(); > > > > if (!pa) > > > > > >
WARNING: multiple messages have this Message-ID (diff)
From: "bhe@redhat.com" <bhe@redhat.com> To: Chao Fan <fanc.fnst@cn.fujitsu.com> Cc: "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>, Borislav Petkov <bp@alien8.de>, Junichi Nomura <j-nomura@ce.jp.nec.com>, Dave Young <dyoung@redhat.com> Subject: Re: [PATCH] x86/boot: Use efi_setup_data for searching RSDP on kexec-ed kernel Date: Fri, 29 Mar 2019 17:16:55 +0800 [thread overview] Message-ID: <20190329091655.GE7627@MiWiFi-R3L-srv> (raw) In-Reply-To: <20190329082929.GH4234@localhost.localdomain> On 03/29/19 at 04:29pm, Chao Fan wrote: > On Fri, Mar 29, 2019 at 07:20:38AM +0000, 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. > [...] > >- guid = tbl->guid; > >- table = tbl->table; > >- } > >- > >- if (!(efi_guidcmp(guid, ACPI_TABLE_GUID))) > >- rsdp_addr = table; > >- else if (!(efi_guidcmp(guid, ACPI_20_TABLE_GUID))) > >- return table; > >- } > >+ return __efi_get_rsdp_addr(config_tables, nr_tables, efi_64); > >+#else > >+ return 0; > > #endif > >- return rsdp_addr; > > I remeber the rsdp_addr is defined before #ifdef CONFIG_EFI > If so, you don't need > #else > return 0; it doesn't change the old logic. Junichi moved rsdp_addr definition inside the CONFIG_EFI iedeffery block. > > BY the way, what's your patch based on? I like add patch on my local > branch and then review code, but failed. > I try to use 'patch -p1 <' your patch to the latest tip master branch, > but failed. > > Thanks, > Chao Fan > > > } > > > > static u8 compute_checksum(u8 *buffer, u32 length) > >@@ -221,6 +284,9 @@ acpi_physical_address get_rsdp_addr(void) > > pa = boot_params->acpi_rsdp_addr; > > > > if (!pa) > >+ pa = kexec_get_rsdp_addr(); > >+ > >+ if (!pa) > > pa = efi_get_rsdp_addr(); > > > > if (!pa) > > > > > > _______________________________________________ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec
next prev parent reply other threads:[~2019-03-29 9:17 UTC|newest] Thread overview: 173+ 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 0:27 ` Junichi Nomura 2019-03-25 6:01 ` Dave Young 2019-03-25 6:01 ` Dave Young 2019-03-25 6:19 ` Dave Young 2019-03-25 6:19 ` Dave Young 2019-03-25 6:45 ` Kairui Song 2019-03-25 6:45 ` Kairui Song 2019-03-25 6:47 ` Junichi Nomura 2019-03-25 6:47 ` Junichi Nomura 2019-03-25 6:59 ` Dave Young 2019-03-25 6:59 ` Dave Young 2019-03-25 8:27 ` [PATCH v2] " Junichi Nomura 2019-03-25 8:27 ` Junichi Nomura 2019-03-25 8:54 ` Boris Petkov 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 9:25 ` Junichi Nomura 2019-03-25 10:15 ` [PATCH v2] x86/boot: Use EFI setup data if provided Dave Young 2019-03-25 10:15 ` Dave Young 2019-03-25 10:36 ` Junichi Nomura 2019-03-25 10:36 ` Junichi Nomura 2019-03-25 11:16 ` Dave Young 2019-03-25 11:16 ` Dave Young 2019-03-25 12:01 ` Borislav Petkov 2019-03-25 12:01 ` Borislav Petkov 2019-03-25 12:23 ` Dave Young 2019-03-25 12:23 ` Dave Young 2019-03-25 12:32 ` Borislav Petkov 2019-03-25 12:32 ` Borislav Petkov 2019-03-25 23:10 ` Junichi Nomura 2019-03-25 23:10 ` Junichi Nomura 2019-03-26 12:46 ` Dave Young 2019-03-26 12:46 ` Dave Young 2019-03-26 13:57 ` Borislav Petkov 2019-03-26 13:57 ` Borislav Petkov 2019-03-27 1:48 ` bhe 2019-03-27 1:48 ` bhe 2019-03-27 12:14 ` Borislav Petkov 2019-03-27 12:14 ` Borislav Petkov 2019-03-28 4:17 ` Junichi Nomura 2019-03-28 4:17 ` Junichi Nomura 2019-03-28 6:26 ` Chao Fan 2019-03-28 6:26 ` Chao Fan 2019-03-28 6:43 ` bhe 2019-03-28 6:43 ` bhe 2019-03-28 7:43 ` Junichi Nomura 2019-03-28 7:43 ` Junichi Nomura 2019-03-28 15:52 ` Borislav Petkov 2019-03-28 15:52 ` Borislav Petkov 2019-03-29 3:05 ` Junichi Nomura 2019-03-29 3:05 ` Junichi Nomura 2019-03-29 8:39 ` Borislav Petkov 2019-03-29 8:39 ` Borislav Petkov 2019-03-29 9:05 ` Chao Fan 2019-03-29 9:05 ` Chao Fan 2019-03-29 9:16 ` Borislav Petkov 2019-03-29 9:16 ` Borislav Petkov 2019-03-29 9:37 ` Junichi Nomura 2019-03-29 9:37 ` Junichi Nomura 2019-03-29 9:44 ` Chao Fan 2019-03-29 9:44 ` Chao Fan 2019-03-29 9:56 ` Junichi Nomura 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:20 ` Junichi Nomura 2019-03-29 7:49 ` bhe 2019-03-29 7:49 ` bhe 2019-03-29 8:29 ` Chao Fan 2019-03-29 8:29 ` Chao Fan 2019-03-29 8:39 ` Junichi Nomura 2019-03-29 8:39 ` Junichi Nomura 2019-03-29 9:18 ` Chao Fan 2019-03-29 9:18 ` Chao Fan 2019-03-29 9:16 ` bhe [this message] 2019-03-29 9:16 ` bhe 2019-03-29 9:20 ` Chao Fan 2019-03-29 9:20 ` Chao Fan 2019-04-01 0:08 ` [PATCH v2] " Junichi Nomura 2019-04-01 0:08 ` Junichi Nomura 2019-04-02 9:41 ` Chao Fan 2019-04-02 9:41 ` Chao Fan 2019-04-02 9:53 ` Junichi Nomura 2019-04-02 9:53 ` Junichi Nomura 2019-04-02 11:06 ` Chao Fan 2019-04-02 11:06 ` Chao Fan 2019-04-02 10:22 ` Junichi Nomura 2019-04-02 10:22 ` Junichi Nomura 2019-04-02 12:03 ` Dave Young 2019-04-02 12:03 ` Dave Young 2019-04-03 5:35 ` Chao Fan 2019-04-03 5:35 ` Chao Fan 2019-04-03 5:53 ` Dave Young 2019-04-03 5:53 ` Dave Young 2019-04-03 6:39 ` Dave Young 2019-04-03 6:39 ` Dave Young 2019-04-03 7:30 ` Chao Fan 2019-04-03 7:30 ` Chao Fan 2019-04-03 7:50 ` bhe 2019-04-03 7:50 ` bhe 2019-04-03 8:23 ` Dave Young 2019-04-03 8:23 ` Dave Young 2019-04-03 8:26 ` Dave Young 2019-04-03 8:26 ` Dave Young 2019-04-03 16:14 ` Borislav Petkov 2019-04-03 16:14 ` Borislav Petkov 2019-04-04 1:02 ` Chao Fan 2019-04-04 1:02 ` Chao Fan 2019-04-03 9:28 ` Chao Fan 2019-04-03 9:28 ` Chao Fan 2019-04-03 7:21 ` Chao Fan 2019-04-03 7:21 ` Chao Fan 2019-04-03 8:09 ` Dave Young 2019-04-03 8:09 ` Dave Young 2019-04-03 8:23 ` Chao Fan 2019-04-03 8:23 ` Chao Fan 2019-04-03 9:02 ` Chao Fan 2019-04-03 9:02 ` Chao Fan 2019-04-03 9:39 ` Chao Fan 2019-04-03 9:39 ` Chao Fan 2019-04-04 1:23 ` Junichi Nomura 2019-04-04 1:23 ` Junichi Nomura 2019-04-04 2:52 ` Dave Young 2019-04-04 2:52 ` Dave Young 2019-04-04 3:00 ` bhe 2019-04-04 3:00 ` bhe 2019-04-04 3:10 ` bhe 2019-04-04 3:10 ` bhe 2019-04-04 3:22 ` Dave Young 2019-04-04 3:22 ` Dave Young 2019-04-04 6:41 ` Dave Young 2019-04-04 6:41 ` Dave Young 2019-04-04 7:20 ` Chao Fan 2019-04-04 7:20 ` Chao Fan 2019-04-04 7:41 ` Dave Young 2019-04-04 7:41 ` Dave Young 2019-04-04 7:48 ` Chao Fan 2019-04-04 7:48 ` Chao Fan 2019-04-04 12:22 ` Borislav Petkov 2019-04-04 12:22 ` Borislav Petkov 2019-04-04 14:08 ` Dave Young 2019-04-04 14:08 ` Dave Young 2019-04-03 8:18 ` Dave Young 2019-04-03 8:18 ` Dave Young 2019-04-02 10:25 ` [PATCH v3] " Junichi Nomura 2019-04-02 10:25 ` Junichi Nomura 2019-04-04 7:32 ` Dave Young 2019-04-04 7:32 ` Dave Young 2019-04-04 12:24 ` Borislav Petkov 2019-04-04 12:24 ` Borislav Petkov 2019-04-04 14:12 ` Dave Young 2019-04-04 14:12 ` Dave Young 2019-04-04 14:41 ` Borislav Petkov 2019-04-04 14:41 ` Borislav Petkov 2019-04-05 1:36 ` Dave Young 2019-04-05 1:36 ` Dave Young 2019-04-05 4:19 ` Junichi Nomura 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-28 23:11 ` bhe 2019-03-29 3:34 ` Junichi Nomura 2019-03-29 3:34 ` Junichi Nomura 2019-03-29 3:52 ` bhe 2019-03-29 3:52 ` bhe 2019-03-29 5:16 ` Junichi Nomura 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 publicly 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=20190329091655.GE7627@MiWiFi-R3L-srv \ --to=bhe@redhat.com \ --cc=bp@alien8.de \ --cc=dyoung@redhat.com \ --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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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.