All of lore.kernel.org
 help / color / mirror / Atom feed
From: "bhe@redhat.com" <bhe@redhat.com>
To: Junichi Nomura <j-nomura@ce.jp.nec.com>
Cc: Borislav Petkov <bp@alien8.de>, Dave Young <dyoung@redhat.com>,
	"fanc.fnst@cn.fujitsu.com" <fanc.fnst@cn.fujitsu.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 15:49:47 +0800	[thread overview]
Message-ID: <20190329074947.GD7627@MiWiFi-R3L-srv> (raw)
In-Reply-To: <20190329072037.GA5840@jeru.linux.bs1.fc.nec.co.jp>

On 03/29/19 at 07:20am, 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>
> Cc: Chao Fan <fanc.fnst@cn.fujitsu.com>
> Cc: Borislav Petkov <bp@suse.de>
> Cc: Dave Young <dyoung@redhat.com>
> Cc: Baoquan He <bhe@redhat.com>
> 
> diff --git a/arch/x86/boot/compressed/acpi.c b/arch/x86/boot/compressed/acpi.c
> --- a/arch/x86/boot/compressed/acpi.c
> +++ b/arch/x86/boot/compressed/acpi.c
> @@ -44,17 +44,109 @@ static acpi_physical_address get_acpi_rsdp(void)
>  	return addr;
>  }
>  
> +#ifdef CONFIG_EFI
> +static unsigned long efi_get_kexec_setup_data_addr(void)
> +{
> +	struct setup_data *data;
> +	u64 pa_data;
> +
> +	pa_data = boot_params->hdr.setup_data;
> +	while (pa_data) {
> +		data = (struct setup_data *) pa_data;
> +		if (data->type == SETUP_EFI)
> +			return pa_data + sizeof(struct setup_data);
> +		pa_data = data->next;
> +	}
> +	return 0;
> +}
> +
>  /* Search EFI system tables for RSDP. */
> -static acpi_physical_address efi_get_rsdp_addr(void)
> +static acpi_physical_address
> +__efi_get_rsdp_addr(unsigned long config_tables, unsigned int nr_tables,
> +		    bool efi_64)
>  {
>  	acpi_physical_address rsdp_addr = 0;
> +	int i;
> +
> +	/* Get EFI tables from systab. */
> +	for (i = 0; i < nr_tables; i++) {
> +		acpi_physical_address table;
> +		efi_guid_t guid;
> +
> +		if (efi_64) {
> +			efi_config_table_64_t *tbl = (efi_config_table_64_t *) config_tables + i;
> +
> +			guid  = tbl->guid;
> +			table = tbl->table;
> +
> +			if (!IS_ENABLED(CONFIG_X86_64) && table >> 32) {
> +				debug_putstr("Error getting RSDP address: EFI config table located above 4GB.\n");
> +				return 0;
> +			}
> +		} else {
> +			efi_config_table_32_t *tbl = (efi_config_table_32_t *) config_tables + i;
> +
> +			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 rsdp_addr;
> +}
> +#endif
>  
> +static acpi_physical_address kexec_get_rsdp_addr(void)
> +{
>  #ifdef CONFIG_EFI
> -	unsigned long systab, systab_tables, config_tables;
> +	efi_system_table_64_t *systab;
> +	struct efi_setup_data *esd;
> +	struct efi_info *ei;
> +	char *sig;
> +
> +	esd = (struct efi_setup_data *) efi_get_kexec_setup_data_addr();
> +	if (!esd)
> +		return 0;
> +
> +	if (!esd->tables) {
> +		debug_putstr("Wrong kexec SETUP_EFI data.\n");
> +		return 0;
> +	}
> +
> +	ei = &boot_params->efi_info;
> +	sig = (char *)&ei->efi_loader_signature;
> +	/*
> +	 * EFI/kexec support is only added for 64bit. So we don't have to
> +	 * care 32bit case.
> +	 */
I would put the doc above kexec_get_rsdp_addr(). Other than this, it
looks good to me. Thanks for the effort.

Acked-by: Baoquan He <bhe@redhat.com>


> +	if (strncmp(sig, EFI64_LOADER_SIGNATURE, 4)) {
> +		debug_putstr("Wrong kexec EFI loader signature.\n");
> +		return 0;
> +	}
> +
> +	/* Get systab from boot params. */
> +	systab = (efi_system_table_64_t *) (ei->efi_systab | ((__u64)ei->efi_systab_hi << 32));
> +	if (!systab)
> +		error("EFI system table not found in kexec boot_params.");
> +
> +	return __efi_get_rsdp_addr((unsigned long) esd->tables,
> +				   systab->nr_tables, true);
> +#else
> +	return 0;
> +#endif
> +}
> +
> +static acpi_physical_address efi_get_rsdp_addr(void)
> +{
> +#ifdef CONFIG_EFI
> +	unsigned long systab, config_tables;
>  	unsigned int nr_tables;
>  	struct efi_info *ei;
>  	bool efi_64;
> -	int size, i;
>  	char *sig;
>  
>  	ei = &boot_params->efi_info;
> @@ -88,49 +180,20 @@ static acpi_physical_address efi_get_rsdp_addr(void)
>  
>  		config_tables	= stbl->tables;
>  		nr_tables	= stbl->nr_tables;
> -		size		= sizeof(efi_config_table_64_t);
>  	} else {
>  		efi_system_table_32_t *stbl = (efi_system_table_32_t *)systab;
>  
>  		config_tables	= stbl->tables;
>  		nr_tables	= stbl->nr_tables;
> -		size		= sizeof(efi_config_table_32_t);
>  	}
>  
>  	if (!config_tables)
>  		error("EFI config tables not found.");
>  
> -	/* Get EFI tables from systab. */
> -	for (i = 0; i < nr_tables; i++) {
> -		acpi_physical_address table;
> -		efi_guid_t guid;
> -
> -		config_tables += size;
> -
> -		if (efi_64) {
> -			efi_config_table_64_t *tbl = (efi_config_table_64_t *)config_tables;
> -
> -			guid  = tbl->guid;
> -			table = tbl->table;
> -
> -			if (!IS_ENABLED(CONFIG_X86_64) && table >> 32) {
> -				debug_putstr("Error getting RSDP address: EFI config table located above 4GB.\n");
> -				return 0;
> -			}
> -		} else {
> -			efi_config_table_32_t *tbl = (efi_config_table_32_t *)config_tables;
> -
> -			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;
>  }
>  
>  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: Junichi Nomura <j-nomura@ce.jp.nec.com>
Cc: "fanc.fnst@cn.fujitsu.com" <fanc.fnst@cn.fujitsu.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>,
	Borislav Petkov <bp@alien8.de>, 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 15:49:47 +0800	[thread overview]
Message-ID: <20190329074947.GD7627@MiWiFi-R3L-srv> (raw)
In-Reply-To: <20190329072037.GA5840@jeru.linux.bs1.fc.nec.co.jp>

On 03/29/19 at 07:20am, 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>
> Cc: Chao Fan <fanc.fnst@cn.fujitsu.com>
> Cc: Borislav Petkov <bp@suse.de>
> Cc: Dave Young <dyoung@redhat.com>
> Cc: Baoquan He <bhe@redhat.com>
> 
> diff --git a/arch/x86/boot/compressed/acpi.c b/arch/x86/boot/compressed/acpi.c
> --- a/arch/x86/boot/compressed/acpi.c
> +++ b/arch/x86/boot/compressed/acpi.c
> @@ -44,17 +44,109 @@ static acpi_physical_address get_acpi_rsdp(void)
>  	return addr;
>  }
>  
> +#ifdef CONFIG_EFI
> +static unsigned long efi_get_kexec_setup_data_addr(void)
> +{
> +	struct setup_data *data;
> +	u64 pa_data;
> +
> +	pa_data = boot_params->hdr.setup_data;
> +	while (pa_data) {
> +		data = (struct setup_data *) pa_data;
> +		if (data->type == SETUP_EFI)
> +			return pa_data + sizeof(struct setup_data);
> +		pa_data = data->next;
> +	}
> +	return 0;
> +}
> +
>  /* Search EFI system tables for RSDP. */
> -static acpi_physical_address efi_get_rsdp_addr(void)
> +static acpi_physical_address
> +__efi_get_rsdp_addr(unsigned long config_tables, unsigned int nr_tables,
> +		    bool efi_64)
>  {
>  	acpi_physical_address rsdp_addr = 0;
> +	int i;
> +
> +	/* Get EFI tables from systab. */
> +	for (i = 0; i < nr_tables; i++) {
> +		acpi_physical_address table;
> +		efi_guid_t guid;
> +
> +		if (efi_64) {
> +			efi_config_table_64_t *tbl = (efi_config_table_64_t *) config_tables + i;
> +
> +			guid  = tbl->guid;
> +			table = tbl->table;
> +
> +			if (!IS_ENABLED(CONFIG_X86_64) && table >> 32) {
> +				debug_putstr("Error getting RSDP address: EFI config table located above 4GB.\n");
> +				return 0;
> +			}
> +		} else {
> +			efi_config_table_32_t *tbl = (efi_config_table_32_t *) config_tables + i;
> +
> +			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 rsdp_addr;
> +}
> +#endif
>  
> +static acpi_physical_address kexec_get_rsdp_addr(void)
> +{
>  #ifdef CONFIG_EFI
> -	unsigned long systab, systab_tables, config_tables;
> +	efi_system_table_64_t *systab;
> +	struct efi_setup_data *esd;
> +	struct efi_info *ei;
> +	char *sig;
> +
> +	esd = (struct efi_setup_data *) efi_get_kexec_setup_data_addr();
> +	if (!esd)
> +		return 0;
> +
> +	if (!esd->tables) {
> +		debug_putstr("Wrong kexec SETUP_EFI data.\n");
> +		return 0;
> +	}
> +
> +	ei = &boot_params->efi_info;
> +	sig = (char *)&ei->efi_loader_signature;
> +	/*
> +	 * EFI/kexec support is only added for 64bit. So we don't have to
> +	 * care 32bit case.
> +	 */
I would put the doc above kexec_get_rsdp_addr(). Other than this, it
looks good to me. Thanks for the effort.

Acked-by: Baoquan He <bhe@redhat.com>


> +	if (strncmp(sig, EFI64_LOADER_SIGNATURE, 4)) {
> +		debug_putstr("Wrong kexec EFI loader signature.\n");
> +		return 0;
> +	}
> +
> +	/* Get systab from boot params. */
> +	systab = (efi_system_table_64_t *) (ei->efi_systab | ((__u64)ei->efi_systab_hi << 32));
> +	if (!systab)
> +		error("EFI system table not found in kexec boot_params.");
> +
> +	return __efi_get_rsdp_addr((unsigned long) esd->tables,
> +				   systab->nr_tables, true);
> +#else
> +	return 0;
> +#endif
> +}
> +
> +static acpi_physical_address efi_get_rsdp_addr(void)
> +{
> +#ifdef CONFIG_EFI
> +	unsigned long systab, config_tables;
>  	unsigned int nr_tables;
>  	struct efi_info *ei;
>  	bool efi_64;
> -	int size, i;
>  	char *sig;
>  
>  	ei = &boot_params->efi_info;
> @@ -88,49 +180,20 @@ static acpi_physical_address efi_get_rsdp_addr(void)
>  
>  		config_tables	= stbl->tables;
>  		nr_tables	= stbl->nr_tables;
> -		size		= sizeof(efi_config_table_64_t);
>  	} else {
>  		efi_system_table_32_t *stbl = (efi_system_table_32_t *)systab;
>  
>  		config_tables	= stbl->tables;
>  		nr_tables	= stbl->nr_tables;
> -		size		= sizeof(efi_config_table_32_t);
>  	}
>  
>  	if (!config_tables)
>  		error("EFI config tables not found.");
>  
> -	/* Get EFI tables from systab. */
> -	for (i = 0; i < nr_tables; i++) {
> -		acpi_physical_address table;
> -		efi_guid_t guid;
> -
> -		config_tables += size;
> -
> -		if (efi_64) {
> -			efi_config_table_64_t *tbl = (efi_config_table_64_t *)config_tables;
> -
> -			guid  = tbl->guid;
> -			table = tbl->table;
> -
> -			if (!IS_ENABLED(CONFIG_X86_64) && table >> 32) {
> -				debug_putstr("Error getting RSDP address: EFI config table located above 4GB.\n");
> -				return 0;
> -			}
> -		} else {
> -			efi_config_table_32_t *tbl = (efi_config_table_32_t *)config_tables;
> -
> -			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;
>  }
>  
>  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

  reply	other threads:[~2019-03-29  7:49 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 [this message]
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
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=20190329074947.GD7627@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: 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.