提交 3fb97e26 编写于 作者: A Alexander Graf

efi_loader: Revert device_handle to disk after net boot

When you boot an efi payload from network, then exit that payload
and load another payload from disk afterwords, the disk payload will
currently see the network device as its boot path.

This breaks grub2 for example which tries to find its modules based
on the path it was loaded from.

This patch fixes that issue by always reverting to disk paths if we're
not in the network boot. That way the data structures after a network
boot look the same as before.
Signed-off-by: NAlexander Graf <agraf@suse.de>
上级 3c63db9c
...@@ -207,6 +207,8 @@ static unsigned long do_bootefi_exec(void *efi, void *fdt) ...@@ -207,6 +207,8 @@ static unsigned long do_bootefi_exec(void *efi, void *fdt)
if (!memcmp(bootefi_device_path[0].str, "N\0e\0t", 6)) if (!memcmp(bootefi_device_path[0].str, "N\0e\0t", 6))
loaded_image_info.device_handle = nethandle; loaded_image_info.device_handle = nethandle;
else
loaded_image_info.device_handle = bootefi_device_path;
#endif #endif
#ifdef CONFIG_GENERATE_SMBIOS_TABLE #ifdef CONFIG_GENERATE_SMBIOS_TABLE
efi_smbios_register(); efi_smbios_register();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册