Project

General

Profile

Actions

Bug #8973

closed

efi_copy_finish() fails to pick the next item from the list

Added by Toomas Soome over 4 years ago. Updated over 4 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
bootloader
Start date:
2018-01-18
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:

Description

The issue was found on vmware/vmware fusion with CD boot, the problem is that boot is hung after loading kernel and printing "Booting..." message on console.

To load kernel and modules, we allocate UEFI memory for each loaded data (because boot archive can be very large, we can not use loader own heap), and we can not control UEFI memory manager, so it can happen that we will get chunks allocated in area we will try to copy data to. When this happens, the loop fails to advance to next item in list and we end up in infinite loop.

Tested with CD boot on vmware fusion where the issue did appear.

Actions #1

Updated by Electric Monk over 4 years ago

  • Status changed from In Progress to Closed
  • % Done changed from 90 to 100

git commit b7b8fdaa13f8702a6e98148d0ff007e6e8347ea2

commit  b7b8fdaa13f8702a6e98148d0ff007e6e8347ea2
Author: Toomas Soome <tsoome@me.com>
Date:   2018-01-20T18:01:03.000Z

    8973 efi_copy_finish() fails to pick the next item from the list
    Reviewed by: Alexander Eremin <alexander.eremin@nexenta.com>
    Reviewed by: Yuri Pankov <yuripv@icloud.com>
    Approved by: Dan McDonald <danmcd@joyent.com>

Actions

Also available in: Atom PDF