On Wed, Jul 22, 2015 at 07:06:10PM +0400, Dmitry Skorodumov wrote:
> The efi_info structure stores low 32 bits of memory map
> in efi_memmap and high 32 bits in efi_memmap_hi.
>
> While constructing pointer in the setup_e820(), need
> to take into account all 64 bit of the pointer.
>
> It is because on 64bit machine the function
> efi_get_memory_map() may return full 64bit pointer and before
> the patch that pointer was truncated.
>
> Signed-off-by: Dmitry Skorodumov <[email protected]>
> CC: Denis V. Lunev <[email protected]>
>
> tested in Parallles virtual machine, kernel 3.10.0
> ---
> arch/x86/boot/compressed/eboot.c | 10 +++++++++-
> 1 files changed, 9 insertions(+), 1 deletions(-)
>
> diff --git a/arch/x86/boot/compressed/eboot.c
> b/arch/x86/boot/compressed/eboot.c
> index 2c82bd1..908a81f 100644
> --- a/arch/x86/boot/compressed/eboot.c
> +++ b/arch/x86/boot/compressed/eboot.c
> @@ -1184,6 +1184,12 @@ static efi_status_t setup_e820(struct boot_params
> *params,
> u32 nr_entries;
> u32 nr_desc;
> int i;
> + unsigned long m
Did you even build-test it before sending?
--
Regards/Gruss,
Boris.
ECO tip #101: Trim your mails when you reply.
--
--
To unsubscribe from this list: send the line "unsubscribe linux-efi" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html