All of lore.kernel.org
 help / color / mirror / Atom feed
From: Borislav Petkov <bp@alien8.de>
To: Guenter Roeck <linux@roeck-us.net>
Cc: fanc.fnst@cn.fujitsu.com, tglx@linutronix.de,
	linux-kernel@vger.kernel.org, kirill.shutemov@linux.intel.com,
	mingo@redhat.com, thomas.lendacky@amd.com,
	yamada.masahiro@socionext.com, caoj.fnst@cn.fujitsu.com,
	jgross@suse.com, mingo@kernel.org, keescook@chromium.org,
	x86@kernel.org, hpa@zytor.com, linux-tip-commits@vger.kernel.org,
	Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	Matt Fleming <matt@codeblueprint.co.uk>
Subject: Re: [tip:x86/boot] x86/boot: Early parse RSDP and save it in boot_params
Date: Mon, 11 Feb 2019 01:22:20 +0100	[thread overview]
Message-ID: <20190211002220.GD14948@zn.tnic> (raw)
In-Reply-To: <20190208215322.GO674@zn.tnic>

On Fri, Feb 08, 2019 at 10:53:22PM +0100, Borislav Petkov wrote:
> On Fri, Feb 08, 2019 at 12:44:51PM -0800, Guenter Roeck wrote:
> > Yes, the kernel boots if I comment out that function and have it return 0.
> 
> Thanks, this localizes the issue significantly.

Some observations:

                } else {
                        efi_config_table_32_t *tmp_table;

                        tmp_table = config_tables;
                        guid = tmp_table->guid;			<--- *
                        table = tmp_table->table;
                }

It blows up at that tmp_table->guid deref above. Singlestepping through
it with gdb shows:

# arch/x86/boot/compressed/acpi.c:114: 			guid = tmp_table->guid;
	movq	(%rdi), %rax	# MEM[(struct efi_config_table_32_t *)config_tables_37].guid, guid
	movq	8(%rdi), %rsi	# MEM[(struct efi_config_table_32_t *)config_tables_37].guid, guid
# arch/x86/boot/compressed/acpi.c:115: 			table = tmp_table->table;
	movl	16(%rdi), %r10d	# MEM[(struct efi_config_table_32_t *)config_tables_37].table, table
	jmp	.L30	#

and %rdi has:

	rdi            0x630646870

which is an address above 4G but we're using a 32-bit EFI BIOS.

Which begs the question whether EFI system tables can even be mapped at
something above 4G with a 32-bit EFI and whether that could work ok.
Hmm.

Lemme add Ard and mfleming for insight here.

Thx.

-- 
Regards/Gruss,
    Boris.

Good mailing practices for 400: avoid top-posting and trim the reply.

  reply	other threads:[~2019-02-11  0:22 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-23 11:08 [PATCH v16 0/7] Parse ACPI table and limit KASLR to choosing immovable memory Chao Fan
2019-01-23 11:08 ` [PATCH v16 1/7] x86/boot: Copy kstrtoull() to boot/string.c instead of simple_strtoull() Chao Fan
2019-02-01 10:58   ` [tip:x86/boot] x86/boot: Copy kstrtoull() to boot/string.c tip-bot for Chao Fan
2019-01-23 11:08 ` [PATCH v16 2/7] x86/boot: Introduce get_acpi_rsdp() to parse RSDP in cmdline from KEXEC Chao Fan
2019-02-01 10:59   ` [tip:x86/boot] x86/boot: Add "acpi_rsdp=" early parsing tip-bot for Chao Fan
2019-01-23 11:08 ` [PATCH v16 3/7] x86/boot: Introduce efi_get_rsdp_addr() to find RSDP from EFI table Chao Fan
2019-02-01 10:59   ` [tip:x86/boot] x86/boot: Search for RSDP in the EFI tables tip-bot for Chao Fan
2019-01-23 11:08 ` [PATCH v16 4/7] x86/boot: Introduce bios_get_rsdp_addr() to search RSDP in memory Chao Fan
2019-02-01 11:00   ` [tip:x86/boot] x86/boot: Search for " tip-bot for Chao Fan
2019-01-23 11:08 ` [PATCH v16 5/7] x86/boot: Early parse RSDP and fill in boot_params Chao Fan
2019-01-23 11:17   ` Chao Fan
2019-02-01 11:01   ` [tip:x86/boot] x86/boot: Early parse RSDP and save it " tip-bot for Chao Fan
2019-02-08 19:02     ` Guenter Roeck
2019-02-08 19:10       ` Borislav Petkov
2019-02-08 20:44         ` Guenter Roeck
2019-02-08 21:53           ` Borislav Petkov
2019-02-11  0:22             ` Borislav Petkov [this message]
2019-02-11  1:33               ` Chao Fan
2019-02-11  9:46               ` Ard Biesheuvel
2019-02-11  9:55                 ` Chao Fan
2019-02-11  9:57                   ` Ard Biesheuvel
2019-02-11 10:10                     ` Chao Fan
2019-02-11 10:17                       ` Ard Biesheuvel
2019-02-11 10:24                         ` Borislav Petkov
2019-02-11 10:33                           ` Ard Biesheuvel
2019-02-11 10:42                           ` Borislav Petkov
2019-02-11 10:46                             ` Ard Biesheuvel
2019-02-11 11:04                               ` Borislav Petkov
2019-02-11 11:55                                 ` Ard Biesheuvel
2019-02-11 12:16                                   ` Borislav Petkov
2019-02-11 11:20                               ` Borislav Petkov
2019-02-11 13:21                                 ` Chao Fan
2019-02-13  1:54                                 ` Chao Fan
2019-02-13  7:36                                   ` Boris Petkov
2019-02-13  7:58                                     ` Chao Fan
2019-02-13  8:01                                       ` Ard Biesheuvel
2019-02-13  8:12                                         ` Chao Fan
2019-02-13  8:50                                           ` Borislav Petkov
2019-02-13  8:57                                             ` Chao Fan
2019-02-11  1:07         ` Chao Fan
2019-02-11  9:30       ` Chao Fan
2019-02-11 10:08         ` Borislav Petkov
2019-02-11 13:03           ` Chao Fan
2019-02-11 14:08           ` Guenter Roeck
2019-02-13  9:06       ` [tip:x86/boot] x86/boot: Correct RSDP parsing with 32-bit EFI tip-bot for Borislav Petkov
2019-02-13 11:27       ` tip-bot for Borislav Petkov
2019-01-23 11:08 ` [PATCH v16 6/7] x86/boot: Parse SRAT address from RSDP and store immovable memory Chao Fan
2019-02-01 11:01   ` [tip:x86/boot] x86/boot: Parse SRAT table and count immovable memory regions tip-bot for Chao Fan
2019-01-23 11:08 ` [PATCH v16 7/7] x86/boot/KASLR: Limit KASLR to extracting kernel in immovable memory Chao Fan
2019-02-01 11:02   ` [tip:x86/boot] x86/boot/KASLR: Limit KASLR to extract the kernel in immovable memory only tip-bot for Chao Fan
2019-01-28 17:51 ` [PATCH v16 0/7] Parse ACPI table and limit KASLR to choosing immovable memory Borislav Petkov
2019-01-30  5:58   ` Chao Fan
2019-01-30 11:22     ` [PATCH] x86/boot: Build the command line parsing code unconditionally (was: Re: [PATCH v16 0/7] Parse ACPI table and limit KASLR to choosing immovable memory) Borislav Petkov
2019-02-01 10:57       ` [tip:x86/boot] x86/boot: Build the command line parsing code unconditionally tip-bot for Borislav Petkov

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=20190211002220.GD14948@zn.tnic \
    --to=bp@alien8.de \
    --cc=ard.biesheuvel@linaro.org \
    --cc=caoj.fnst@cn.fujitsu.com \
    --cc=fanc.fnst@cn.fujitsu.com \
    --cc=hpa@zytor.com \
    --cc=jgross@suse.com \
    --cc=keescook@chromium.org \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=matt@codeblueprint.co.uk \
    --cc=mingo@kernel.org \
    --cc=mingo@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=thomas.lendacky@amd.com \
    --cc=x86@kernel.org \
    --cc=yamada.masahiro@socionext.com \
    /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.