From 724e5b51e7c837210fddfac42ccd8ccee7d385a1 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Thu, 23 Apr 2026 08:01:04 +0000 Subject: [PATCH 1/2] shared: drop redundant cryptsetup_enable_logging(NULL) calls These were only used to implicitly load libcryptsetup at startup. dlopen_cryptsetup() now calls cryptsetup_enable_logging(NULL) itself, and every code path that uses libcryptsetup calls dlopen_cryptsetup() before doing so, so the upfront calls are no longer needed. --- src/growfs/growfs.c | 4 ---- src/home/homework.c | 2 -- src/repart/repart.c | 4 ---- 3 files changed, 10 deletions(-) diff --git a/src/growfs/growfs.c b/src/growfs/growfs.c index b544538d9d..ff6a5909e7 100644 --- a/src/growfs/growfs.c +++ b/src/growfs/growfs.c @@ -93,10 +93,6 @@ static int maybe_resize_underlying_device( assert(mountfd >= 0); assert(mountpath); -#if HAVE_LIBCRYPTSETUP - cryptsetup_enable_logging(NULL); -#endif - r = get_block_device_harder_fd(mountfd, &devno); if (r < 0) return log_error_errno(r, "Failed to determine underlying block device of \"%s\": %m", diff --git a/src/home/homework.c b/src/home/homework.c index 578d5cce91..d63d481447 100644 --- a/src/home/homework.c +++ b/src/home/homework.c @@ -2005,8 +2005,6 @@ static int run(int argc, char *argv[]) { log_setup(); - cryptsetup_enable_logging(NULL); - umask(0022); if (argc < 2 || argc > 3) diff --git a/src/repart/repart.c b/src/repart/repart.c index 91cd77b448..fac2bd817a 100644 --- a/src/repart/repart.c +++ b/src/repart/repart.c @@ -11222,10 +11222,6 @@ static int run(int argc, char *argv[]) { if (r < 0) return r; -#if HAVE_LIBCRYPTSETUP - cryptsetup_enable_logging(NULL); -#endif - if (arg_varlink) return vl_server(); From 240b26503b26cddb0275a4e0e2b6918950379c69 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Thu, 23 Apr 2026 08:10:24 +0000 Subject: [PATCH 2/2] shared: drop redundant dlopen_cryptsetup() calls from cryptsetup_* helpers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit cryptsetup_set_minimal_pbkdf(), cryptsetup_get_token_as_json() and cryptsetup_add_token_json() each take a struct crypt_device *cd, which can only be obtained by first calling sym_crypt_init*() — and that already requires dlopen_cryptsetup() to have succeeded. The internal calls here were only implicitly re-loading a library the caller is guaranteed to have already loaded. --- src/shared/cryptsetup-util.c | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/src/shared/cryptsetup-util.c b/src/shared/cryptsetup-util.c index 0d96d82c62..47a148459d 100644 --- a/src/shared/cryptsetup-util.c +++ b/src/shared/cryptsetup-util.c @@ -133,10 +133,6 @@ int cryptsetup_set_minimal_pbkdf(struct crypt_device *cd) { /* Sets a minimal PKBDF in case we already have a high entropy key. */ - r = dlopen_cryptsetup(LOG_DEBUG); - if (r < 0) - return r; - r = sym_crypt_set_pbkdf_type(cd, &minimal_pbkdf); if (r < 0) return r; @@ -164,10 +160,6 @@ int cryptsetup_get_token_as_json( * -EMEDIUMTYPE → "verify_type" specified and doesn't match token's type */ - r = dlopen_cryptsetup(LOG_DEBUG); - if (r < 0) - return r; - r = sym_crypt_token_json_get(cd, idx, &text); if (r < 0) return r; @@ -197,10 +189,6 @@ int cryptsetup_add_token_json(struct crypt_device *cd, sd_json_variant *v) { _cleanup_free_ char *text = NULL; int r; - r = dlopen_cryptsetup(LOG_DEBUG); - if (r < 0) - return r; - r = sd_json_variant_format(v, 0, &text); if (r < 0) return log_debug_errno(r, "Failed to format token data for LUKS: %m");