mirror of
https://git.proxmox.com/git/efi-boot-shim
synced 2025-12-28 11:28:12 +00:00
Hook exit when shim_lock protocol installed
A recent commit moved where the shim_lock protocol is loaded and unloaded, but did not move where exit was hooked and unhooked. Exit needs to be hooked when the protocol is installed, so that the protocol will be uninstalled on exit. Otherwise, the system can crash if, for example, shim loads grub, the user exits grub, shim is run again, which installs a second instance of the protocol, and then grub tries to use the shim_lock protocol that was installed by the first instance of shim. Signed-off-by: Stuart Hayes <stuart.w.hayes@gmail.com> Upstream-commit-id: 06c92591e94
This commit is contained in:
parent
1b382ef850
commit
b5e10f70c7
5
shim.c
5
shim.c
@ -2474,9 +2474,9 @@ shim_init(void)
|
||||
loader_is_participating = 0;
|
||||
}
|
||||
|
||||
hook_exit(systab);
|
||||
}
|
||||
|
||||
hook_exit(systab);
|
||||
return install_shim_protocols();
|
||||
}
|
||||
|
||||
@ -2494,9 +2494,10 @@ shim_fini(void)
|
||||
* Remove our hooks from system services.
|
||||
*/
|
||||
unhook_system_services();
|
||||
unhook_exit();
|
||||
}
|
||||
|
||||
unhook_exit();
|
||||
|
||||
/*
|
||||
* Free the space allocated for the alternative 2nd stage loader
|
||||
*/
|
||||
|
||||
Loading…
Reference in New Issue
Block a user