From: Clayton Craft Date: Thu, 30 Apr 2026 02:33:58 +0000 (-0700) Subject: bootctl: fix removing variables on uninstall X-Git-Tag: v261-rc1~24^2~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a2ba538ead5630394a0407ef7b4317c12e1b6b84;p=thirdparty%2Fsystemd.git 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 --- diff --git a/src/bootctl/bootctl-install.c b/src/bootctl/bootctl-install.c index 77d03e72b6c..535019e1e9f 100644 --- a/src/bootctl/bootctl-install.c +++ b/src/bootctl/bootctl-install.c @@ -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()); }