All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chao Fan <fanc.fnst@cn.fujitsu.com>
To: Dave Young <dyoung@redhat.com>
Cc: "kasong@redhat.com" <kasong@redhat.com>,
	"bhe@redhat.com" <bhe@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>
Subject: Re: [PATCH v2] x86/boot: Use efi_setup_data for searching RSDP on kexec-ed kernel
Date: Wed, 3 Apr 2019 13:35:00 +0800	[thread overview]
Message-ID: <20190403053459.GD1555@localhost.localdomain> (raw)
In-Reply-To: <20190402120319.GA7605@dhcp-128-65.nay.redhat.com>

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.

[root@localhost ~]# echo 1 > /proc/sys/kernel/sysrq
[root@localhost ~]# echo c > /proc/sysrq-trigger
[   67.776136] sysrq: Trigger a crash
[   67.777412] Kernel panic - not syncing: sysrq triggered crash
[   67.779429] CPU: 1 PID: 1652 Comm: bash Kdump: loaded Not tainted 5.1.0-rc3+ #4
[   67.780755] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 0.0.0 02/06/2015
[   67.782062] Call Trace:
[   67.782490]  dump_stack+0x5c/0x80
[   67.783049]  panic+0x101/0x2a7
[   67.783560]  ? printk+0x58/0x6f
[   67.784091]  sysrq_handle_crash+0x11/0x11
[   67.784762]  __handle_sysrq.cold.7+0x45/0xf2
[   67.785467]  write_sysrq_trigger+0x2b/0x30
[   67.786087]  proc_reg_write+0x39/0x60
[   67.786597]  vfs_write+0xa5/0x1a0
[   67.787061]  ksys_write+0x4f/0xb0
[   67.787492]  do_syscall_64+0x5b/0x160
[   67.788010]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[   67.788740] RIP: 0033:0x7f66266fbed8
[   67.789239] Code: 89 02 48 c7 c0 ff ff ff ff eb b3 0f 1f 80 00 00 00 00 f3 0f 1e fa 48 8d 05 45 78 0d 00 8b 00 85 c0 75 17 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 58 c3 0f 1f 80 00 00 00 00 41 54 49 89 d4 55
[   67.791325] RSP: 002b:00007ffecdaf6138 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
[   67.792084] RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007f66266fbed8
[   67.792820] RDX: 0000000000000002 RSI: 000055dcc8d29880 RDI: 0000000000000001
[   67.793515] RBP: 000055dcc8d29880 R08: 000000000000000a R09: 00007ffecdaf5cc0
[   67.794276] R10: 000000000000000a R11: 0000000000000246 R12: 00007f66267cf780
[   67.795017] R13: 0000000000000002 R14: 00007f66267ca740 R15: 0000000000000002
early console in extract_kernel
input_data: 0x00000000376033b1
input_len: 0x00000000008412d4
output: 0x0000000036000000
output_len: 0x0000000001e15844
kernel_total_size: 0x0000000001e2c000
trampoline_32bit: 0x000000000009d000
booted via startup_64()


Physical KASLR disabled: no suitable memory region!

Virtual KASLR using RDRAND RDTSC...

Decompressing Linux... Parsing ELF... Performing relocations... done.
Booting the kernel.
[...]
         Starting Kdump Vmcore Save Service...
kdump: dump target is /dev/mapper/fedora-root
kdump: saving to /sysroot//var/crash/127.0.0.1-2019-04-03-01:28:01/
[    3.551609] EXT4-fs (dm-0): re-mounted. Opts: (null)
kdump: saving vmcore-dmesg.txt
kdump: saving vmcore-dmesg.txt complete
kdump: saving vmcore
Copying data                                      : [100.0 %] |           eta: 0s
kdump: saving vmcore complete

Thanks,
Chao Fan

>Thanks
>Dave
>
>
>



_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

WARNING: multiple messages have this Message-ID (diff)
From: Chao Fan <fanc.fnst@cn.fujitsu.com>
To: Dave Young <dyoung@redhat.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 13:35:00 +0800	[thread overview]
Message-ID: <20190403053459.GD1555@localhost.localdomain> (raw)
In-Reply-To: <20190402120319.GA7605@dhcp-128-65.nay.redhat.com>

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.

[root@localhost ~]# echo 1 > /proc/sys/kernel/sysrq
[root@localhost ~]# echo c > /proc/sysrq-trigger
[   67.776136] sysrq: Trigger a crash
[   67.777412] Kernel panic - not syncing: sysrq triggered crash
[   67.779429] CPU: 1 PID: 1652 Comm: bash Kdump: loaded Not tainted 5.1.0-rc3+ #4
[   67.780755] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 0.0.0 02/06/2015
[   67.782062] Call Trace:
[   67.782490]  dump_stack+0x5c/0x80
[   67.783049]  panic+0x101/0x2a7
[   67.783560]  ? printk+0x58/0x6f
[   67.784091]  sysrq_handle_crash+0x11/0x11
[   67.784762]  __handle_sysrq.cold.7+0x45/0xf2
[   67.785467]  write_sysrq_trigger+0x2b/0x30
[   67.786087]  proc_reg_write+0x39/0x60
[   67.786597]  vfs_write+0xa5/0x1a0
[   67.787061]  ksys_write+0x4f/0xb0
[   67.787492]  do_syscall_64+0x5b/0x160
[   67.788010]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[   67.788740] RIP: 0033:0x7f66266fbed8
[   67.789239] Code: 89 02 48 c7 c0 ff ff ff ff eb b3 0f 1f 80 00 00 00 00 f3 0f 1e fa 48 8d 05 45 78 0d 00 8b 00 85 c0 75 17 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 58 c3 0f 1f 80 00 00 00 00 41 54 49 89 d4 55
[   67.791325] RSP: 002b:00007ffecdaf6138 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
[   67.792084] RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007f66266fbed8
[   67.792820] RDX: 0000000000000002 RSI: 000055dcc8d29880 RDI: 0000000000000001
[   67.793515] RBP: 000055dcc8d29880 R08: 000000000000000a R09: 00007ffecdaf5cc0
[   67.794276] R10: 000000000000000a R11: 0000000000000246 R12: 00007f66267cf780
[   67.795017] R13: 0000000000000002 R14: 00007f66267ca740 R15: 0000000000000002
early console in extract_kernel
input_data: 0x00000000376033b1
input_len: 0x00000000008412d4
output: 0x0000000036000000
output_len: 0x0000000001e15844
kernel_total_size: 0x0000000001e2c000
trampoline_32bit: 0x000000000009d000
booted via startup_64()


Physical KASLR disabled: no suitable memory region!

Virtual KASLR using RDRAND RDTSC...

Decompressing Linux... Parsing ELF... Performing relocations... done.
Booting the kernel.
[...]
         Starting Kdump Vmcore Save Service...
kdump: dump target is /dev/mapper/fedora-root
kdump: saving to /sysroot//var/crash/127.0.0.1-2019-04-03-01:28:01/
[    3.551609] EXT4-fs (dm-0): re-mounted. Opts: (null)
kdump: saving vmcore-dmesg.txt
kdump: saving vmcore-dmesg.txt complete
kdump: saving vmcore
Copying data                                      : [100.0 %] |           eta: 0s
kdump: saving vmcore complete

Thanks,
Chao Fan

>Thanks
>Dave
>
>
>



  reply	other threads:[~2019-04-03  5:35 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
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 [this message]
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=20190403053459.GD1555@localhost.localdomain \
    --to=fanc.fnst@cn.fujitsu.com \
    --cc=bhe@redhat.com \
    --cc=bp@alien8.de \
    --cc=dyoung@redhat.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
Be 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.