Home
last modified time | relevance | path

Searched hist:"57648 adb" (Results 1 – 1 of 1) sorted by relevance

/openbmc/linux/arch/x86/platform/efi/
H A Defi_stub_32.S57648adb Sun Mar 08 03:08:52 CDT 2020 Ard Biesheuvel <ardb@kernel.org> efi/x86: Preserve %ebx correctly in efi_set_virtual_address_map()

Commit:

59f2a619a2db8611 ("efi: Add 'runtime' pointer to struct efi")

modified the assembler routine called by efi_set_virtual_address_map(),
to grab the 'runtime' EFI service pointer while running with paging
disabled (which is tricky to do in C code)

After the change, register %ebx is not restored correctly, resulting
in all kinds of weird behavior, so fix that.

Reported-by: Guenter Roeck <linux@roeck-us.net>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20200304133515.15035-1-ardb@kernel.org
Link: https://lore.kernel.org/r/20200308080859.21568-22-ardb@kernel.org
57648adb Sun Mar 08 03:08:52 CDT 2020 Ard Biesheuvel <ardb@kernel.org> efi/x86: Preserve %ebx correctly in efi_set_virtual_address_map()

Commit:

59f2a619a2db8611 ("efi: Add 'runtime' pointer to struct efi")

modified the assembler routine called by efi_set_virtual_address_map(),
to grab the 'runtime' EFI service pointer while running with paging
disabled (which is tricky to do in C code)

After the change, register %ebx is not restored correctly, resulting
in all kinds of weird behavior, so fix that.

Reported-by: Guenter Roeck <linux@roeck-us.net>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20200304133515.15035-1-ardb@kernel.org
Link: https://lore.kernel.org/r/20200308080859.21568-22-ardb@kernel.org