mirror of
https://github.com/systemd/systemd.git
synced 2026-08-10 17:14:31 +00:00
bootctl: fix removing variables on uninstall
remove_variables looks up the EFI boot entry by matching both the path
and the partition UUID and it wasn't actually removing any entries
because verb_remove was passing SD_ID128_NULL, so the lookup never
matched and Boot#### entries were left behind on uninstall.
Fixes 38433a6
This commit is contained in:
@@ -1859,7 +1859,6 @@ static int remove_loader_variables(void) {
|
||||
}
|
||||
|
||||
int verb_remove(int argc, char *argv[], uintptr_t _data, void *userdata) {
|
||||
sd_id128_t uuid = SD_ID128_NULL;
|
||||
int r;
|
||||
|
||||
_cleanup_(install_context_done) InstallContext c = INSTALL_CONTEXT_NULL;
|
||||
@@ -1927,7 +1926,7 @@ int verb_remove(int argc, char *argv[], uintptr_t _data, void *userdata) {
|
||||
}
|
||||
|
||||
char *path = strjoina("/EFI/systemd/systemd-boot", get_efi_arch(), ".efi");
|
||||
RET_GATHER(r, remove_variables(uuid, path, /* in_order= */ true));
|
||||
RET_GATHER(r, remove_variables(c.esp_uuid, path, /* in_order= */ true));
|
||||
return RET_GATHER(r, remove_loader_variables());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user