]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
tree-wide: drop DLOPEN_FOO() macros
authorYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 10 Jul 2026 14:59:06 +0000 (23:59 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 17 Jul 2026 19:56:32 +0000 (04:56 +0900)
Since 4c0d8d967300fde858f83ec4b361db19e3e257c8, most dlopen notes are
set at the beginning of the executables. Let's manage all dlopen notes
there, rather than setting them where dlopen is called.

Note that the only exceptions are the LIBBPF_NOTE for networkd and
nsresource. Since dlopen_bpf() is wrapped in an `#if` guard, the notes
are instead set within the corresponding functionality.

As a result, the DLOPEN_FOO() wrapper macros are no longer needed and
can be dropped completely.

94 files changed:
src/analyze/analyze-security.c
src/analyze/analyze.c
src/bootctl/bootctl-install.c
src/bootctl/bootctl.c
src/core/bpf-bind-iface.c
src/core/bpf-restrict-fs.c
src/core/bpf-restrict-fsaccess.c
src/core/bpf-restrict-ifaces.c
src/core/bpf-socket-bind.c
src/core/exec-invoke.c
src/core/execute.c
src/core/executor.c
src/core/main.c
src/core/mount.c
src/core/namespace.c
src/core/selinux-setup.c
src/creds/creds.c
src/cryptenroll/cryptenroll-varlink.c
src/cryptenroll/cryptenroll.c
src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-fido2.c
src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-pkcs11.c
src/cryptsetup/cryptsetup-tokens/cryptsetup-token-systemd-tpm2.c
src/cryptsetup/cryptsetup.c
src/dissect/dissect.c
src/growfs/growfs.c
src/home/homectl.c
src/home/homed-manager.c
src/home/homed.c
src/home/homework-fscrypt.c
src/home/homework-luks.c
src/home/homework.c
src/home/pam_systemd_home.c
src/imds/imdsd.c
src/import/import-common.c
src/import/pull-job.c
src/import/pull.c
src/integritysetup/integritysetup.c
src/journal-remote/journal-gatewayd.c
src/journal-remote/journal-remote-main.c
src/journal-remote/journal-upload.c
src/journal/journalctl-authenticate.c
src/journal/journalctl.c
src/keyutil/keyutil.c
src/login/pam_systemd.c
src/login/pam_systemd_loadkey.c
src/measure/measure-tool.c
src/network/networkd-sysctl.c
src/nspawn/nspawn-oci.c
src/nspawn/nspawn.c
src/nsresourced/userns-restrict.c
src/pcrextend/pcrextend.c
src/pcrlock/pcrlock.c
src/portable/portable.c
src/portable/portabled.c
src/repart/repart.c
src/report/report-sign-plain.c
src/report/report-upload.c
src/report/report.c
src/resolve/resolvectl.c
src/resolve/resolved-dns-dnssec.c
src/resolve/resolved-dnstls.c
src/resolve/resolved-util.c
src/resolve/resolved.c
src/sbsign/sbsign.c
src/shared/acl-util.h
src/shared/blkid-util.h
src/shared/bpf-util.h
src/shared/crypto-util.h
src/shared/cryptsetup-util.h
src/shared/curl-util.h
src/shared/fdisk-util.h
src/shared/idn-util.h
src/shared/libarchive-util.h
src/shared/libmount-util.h
src/shared/microhttpd-util.h
src/shared/module-util.h
src/shared/pam-util.h
src/shared/seccomp-util.h
src/shared/selinux-util.h
src/shared/ssl-util.h
src/shared/tpm2-util.h
src/shutdown/detach-swap.c
src/shutdown/shutdown.c
src/sysext/sysext.c
src/sysupdate/sysupdate-partition.c
src/sysupdate/sysupdate-resource.c
src/sysupdate/sysupdate.c
src/tmpfiles/tmpfiles.c
src/tpm2-setup/tpm2-setup.c
src/udev/udev-builtin-blkid.c
src/udev/udevadm.c
src/udev/udevd.c
src/validatefs/validatefs.c
src/veritysetup/veritysetup.c

index c0481c72ec407fa2b1a8cbfa2ee1f73b0723f48c..3289ae8f47f753b1bf609aed4c5a9040bd9fa2e9 100644 (file)
@@ -626,7 +626,7 @@ static int assess_system_call_filter(
         uint64_t b;
         int r;
 
-        r = DLOPEN_LIBSECCOMP(LOG_DEBUG, recommended);
+        r = dlopen_libseccomp(LOG_DEBUG);
         if (r < 0) {
                 *ret_badness = UINT64_MAX;
                 *ret_description = NULL;
@@ -2604,7 +2604,7 @@ static int get_security_info(Unit *u, ExecContext *c, CGroupContext *g, RuntimeS
                 info->_umask = c->umask;
 
 #if HAVE_SECCOMP
-                if (DLOPEN_LIBSECCOMP(LOG_DEBUG, recommended) >= 0) {
+                if (dlopen_libseccomp(LOG_DEBUG) >= 0) {
                         SET_FOREACH(key, c->syscall_archs) {
                                 const char *name;
 
index df41db77ad6664095bc74ea7ab61430a005f68da..fbdbc83fe78eb4fcd048b941adad78af7d107693 100644 (file)
@@ -697,6 +697,7 @@ static int run(int argc, char *argv[]) {
         LIBELF_NOTE(suggested);
         LIBMOUNT_NOTE(recommended);
         LIBPCRE2_NOTE(suggested);
+        LIBSECCOMP_NOTE(recommended);
         LIBSELINUX_NOTE(recommended);
         TPM2_NOTE(suggested);
 
index d75b4f67bbb89839c53d50db04031c6df1e9ebf3..1610d11e9206fe2bddc3a1fb766ed5944461db75 100644 (file)
@@ -1085,7 +1085,7 @@ static int install_secure_boot_auto_enroll(InstallContext *c) {
         if (!c->secure_boot_certificate || !c->secure_boot_private_key)
                 return 0;
 
-        r = DLOPEN_LIBCRYPTO(LOG_DEBUG, recommended);
+        r = dlopen_libcrypto(LOG_DEBUG);
         if (r < 0)
                 return r;
 
index 238102095ed641e94c7de87e55977d7029d6affe..7956b01ffcfb6a67a9eebf4e97e8a70f81a6a1b4 100644 (file)
@@ -860,6 +860,7 @@ static int run(int argc, char *argv[]) {
         int r;
 
         LIBBLKID_NOTE(recommended);
+        LIBCRYPTO_NOTE(recommended);
         LIBCRYPTSETUP_NOTE(suggested);
         LIBMOUNT_NOTE(recommended);
         LIBTSS2_ESYS_NOTE(suggested);
index 4b492f77ba4858645cd4a4483360e6194e4fc372..1ba643a1166b361a500e889ca56fdcec5980b18f 100644 (file)
@@ -31,7 +31,7 @@ int bpf_bind_network_interface_supported(void) {
         if (supported >= 0)
                 return supported;
 
-        if (DLOPEN_BPF(LOG_WARNING, recommended) < 0)
+        if (dlopen_bpf(LOG_WARNING) < 0)
                 return (supported = false);
 
         obj = bind_iface_bpf__open();
index 33dba6d8dae43528d26f3a487e4e46ea14af0a4d..a0bd4823b0d3a80a63f0b949a797361b4a99fbe1 100644 (file)
@@ -78,7 +78,7 @@ bool bpf_restrict_fs_supported(bool initialize) {
         if (!initialize)
                 return false;
 
-        if (DLOPEN_BPF(LOG_WARNING, recommended) < 0)
+        if (dlopen_bpf(LOG_WARNING) < 0)
                 return (supported = false);
 
         r = lsm_supported("bpf");
index 18d291795e14df22d9d7ac47313d8e11c1a7907a..e2d5cbf9552540b57ec0a90935ef536b595e8362 100644 (file)
@@ -171,7 +171,7 @@ bool bpf_restrict_fsaccess_supported(void) {
 
         if (supported >= 0)
                 return supported;
-        if (DLOPEN_BPF(LOG_WARNING, recommended) < 0)
+        if (dlopen_bpf(LOG_WARNING) < 0)
                 return (supported = false);
 
         r = lsm_supported("bpf");
@@ -340,7 +340,7 @@ static int restrict_fsaccess_validate_deserialized_fds(Manager *m) {
 
         assert(m);
 
-        r = DLOPEN_BPF(LOG_WARNING, recommended);
+        r = dlopen_bpf(LOG_WARNING);
         if (r < 0)
                 return log_error_errno(SYNTHETIC_ERRNO(ENOTRECOVERABLE),
                                        "bpf-restrict-fsaccess: Failed to load libbpf for FD validation, aborting.");
index e6b32923805daf3af7796136944321d016cefb8c..e30d15cd256ef9fb456b4efac7f54a98d53a1f2e 100644 (file)
@@ -86,7 +86,7 @@ int bpf_restrict_ifaces_supported(void) {
         if (supported >= 0)
                 return supported;
 
-        if (DLOPEN_BPF(LOG_WARNING, recommended) < 0)
+        if (dlopen_bpf(LOG_WARNING) < 0)
                 return (supported = false);
 
         r = prepare_restrict_ifaces_bpf(NULL, true, NULL, &obj);
index 47f0d209f75f0cd7a6cf2f981b921a45dafdfef4..b4bf37b41e0f444593caf61ddf274feaefbeb848 100644 (file)
@@ -125,7 +125,7 @@ int bpf_socket_bind_supported(void) {
         _cleanup_(socket_bind_bpf_freep) struct socket_bind_bpf *obj = NULL;
         int r;
 
-        if (DLOPEN_BPF(LOG_WARNING, recommended) < 0)
+        if (dlopen_bpf(LOG_WARNING) < 0)
                 return false;
 
         r = prepare_socket_bind_bpf(/* unit= */ NULL, /* allow_rules= */ NULL, /* deny_rules= */ NULL, &obj);
index bdd98e4a71fef1a49ac681113eaebedb73a5d50f..ae3001418a4cdcb522ef32ac733d173f66d2776f 100644 (file)
@@ -1311,7 +1311,7 @@ static int setup_pam(
          * parent process will exec() the actual daemon. We do things this way to ensure that the main PID of
          * the daemon is the one we initially fork()ed. */
 
-        r = DLOPEN_LIBPAM(LOG_ERR, recommended);
+        r = dlopen_libpam(LOG_ERR);
         if (r < 0)
                 return r;
 
@@ -1578,7 +1578,7 @@ static bool seccomp_allows_drop_privileges(const ExecContext *c) {
         assert(c);
 
         /* No libseccomp, all is fine */
-        if (DLOPEN_LIBSECCOMP(LOG_DEBUG, recommended) < 0)
+        if (dlopen_libseccomp(LOG_DEBUG) < 0)
                 return true;
 
         /* No syscall filter, we are allowed to drop privileges */
@@ -1888,7 +1888,7 @@ static int apply_restrict_filesystems(const ExecContext *c, const ExecParameters
         }
 
         /* We are in a new binary, so dl-open again */
-        r = DLOPEN_BPF(LOG_DEBUG, recommended);
+        r = dlopen_bpf(LOG_DEBUG);
         if (r < 0)
                 return r;
 
@@ -6006,12 +6006,12 @@ int exec_invoke(
         }
 
         /* Load a bunch of libraries we'll possibly need later, before we turn off dlopen() */
-        (void) DLOPEN_BPF(LOG_DEBUG, recommended);
-        (void) DLOPEN_CRYPTSETUP(LOG_DEBUG, recommended);
-        (void) DLOPEN_LIBMOUNT(LOG_DEBUG, recommended);
-        (void) DLOPEN_LIBSECCOMP(LOG_DEBUG, recommended);
+        (void) dlopen_bpf(LOG_DEBUG);
+        (void) dlopen_cryptsetup(LOG_DEBUG);
+        (void) dlopen_libmount(LOG_DEBUG);
+        (void) dlopen_libseccomp(LOG_DEBUG);
         /* Needed for userspace verity verification fallback */
-        (void) DLOPEN_LIBCRYPTO(LOG_DEBUG, recommended);
+        (void) dlopen_libcrypto(LOG_DEBUG);
 
         /* Let's now disable further dlopen()ing of libraries, since we are about to do namespace
          * shenanigans, and do not want to mix resources from host and namespace */
index 8eb505d4fb4c38207a80bf4d86b63c7fad32779b..fd32d38ad1a9f24e96ee73a55232fa70cd05c3bf 100644 (file)
@@ -1575,7 +1575,7 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix) {
                         fputc('~', f);
 
 #if HAVE_SECCOMP
-                if (DLOPEN_LIBSECCOMP(LOG_DEBUG, recommended) >= 0) {
+                if (dlopen_libseccomp(LOG_DEBUG) >= 0) {
                         void *id, *val;
                         bool first = true;
                         HASHMAP_FOREACH_KEY(val, id, c->syscall_filter) {
@@ -1996,7 +1996,7 @@ char** exec_context_get_syscall_filter(const ExecContext *c) {
         assert(c);
 
 #if HAVE_SECCOMP
-        if (DLOPEN_LIBSECCOMP(LOG_DEBUG, recommended) < 0)
+        if (dlopen_libseccomp(LOG_DEBUG) < 0)
                 return strv_new(NULL);
 
         void *id, *val;
@@ -2065,7 +2065,7 @@ char** exec_context_get_syscall_log(const ExecContext *c) {
         assert(c);
 
 #if HAVE_SECCOMP
-        if (DLOPEN_LIBSECCOMP(LOG_DEBUG, recommended) < 0)
+        if (dlopen_libseccomp(LOG_DEBUG) < 0)
                 return strv_new(NULL);
 
         void *id, *val;
index d0cd16aa9abe938f78aad835442697c597914809..0c104e5c3106c9c1840cb093846bff7c4c6e7516 100644 (file)
@@ -236,6 +236,12 @@ int run_executor(int argc, char *argv[]) {
         LIBACL_NOTE(recommended);
         LIBAPPARMOR_NOTE(recommended);
         LIBBLKID_NOTE(recommended);
+        LIBBPF_NOTE(recommended);
+        LIBCRYPTO_NOTE(recommended);
+        LIBCRYPTSETUP_NOTE(recommended);
+        LIBMOUNT_NOTE(recommended);
+        LIBPAM_NOTE(recommended);
+        LIBSECCOMP_NOTE(recommended);
         LIBSELINUX_NOTE(recommended);
         TPM2_NOTE(suggested);
 
index c952472e7333c247fb4be8c67269fd16adcb392a..84f3b029e19f2ebe3e3855396e8a50c587aa9d3b 100644 (file)
@@ -3823,7 +3823,7 @@ static int run_systemd(int argc, char *argv[]) {
         }
 
         /* Building without libmount is allowed, but if it is compiled in, then we must be able to load it */
-        r = DLOPEN_LIBMOUNT(LOG_DEBUG, required);
+        r = dlopen_libmount(LOG_DEBUG);
         if (r < 0 && !ERRNO_IS_NEG_NOT_SUPPORTED(r)) {
                 error_message = "Failed to load libmount.so";
                 goto finish;
@@ -4035,8 +4035,10 @@ int main(int argc, char *argv[]) {
         LIBCRYPTO_NOTE(suggested);
         LIBCRYPTSETUP_NOTE(recommended);
         LIBKMOD_NOTE(recommended);
+        LIBMOUNT_NOTE(required);
         LIBPCRE2_NOTE(suggested);
         LIBSECCOMP_NOTE(recommended);
+        LIBSELINUX_NOTE(recommended);
         TPM2_NOTE(suggested);
 
 #if SYSTEMD_MULTICALL_BINARY
index 45a84e635064e4ff4fd16e0ebc585cfde3a86b8a..c05df5d10cff84a1ed7414c2a7c520c6e0845fdb 100644 (file)
@@ -2407,7 +2407,7 @@ static int mount_test_startable(Unit *u) {
 }
 
 static bool mount_supported(void) {
-        return DLOPEN_LIBMOUNT(LOG_DEBUG, recommended) >= 0;
+        return dlopen_libmount(LOG_DEBUG) >= 0;
 }
 
 static int mount_subsystem_ratelimited(Manager *m) {
index ff9a975b08bd08a0f3b60c61e042f4615148899d..c60f2e99c01dd067c150ed3f8028b93ce69bddcf 100644 (file)
@@ -3986,7 +3986,7 @@ int refresh_extensions_in_namespace(
         if (r > 0)
                 return log_debug_errno(SYNTHETIC_ERRNO(EINVAL), "Target namespace is not separate, cannot reload extensions");
 
-        (void) DLOPEN_CRYPTSETUP(LOG_DEBUG, recommended);
+        (void) dlopen_cryptsetup(LOG_DEBUG);
 
         extension_dir = path_join(p->private_namespace_dir, "unit-extensions");
         if (!extension_dir)
index fa65567ab05bb84a1fd0ad179fafb2c725df1770..d06c9f0293167338860e9e9018c71b843159c06f 100644 (file)
@@ -17,7 +17,7 @@ int mac_selinux_setup(bool *loaded_policy) {
 
         assert(loaded_policy);
 
-        r = DLOPEN_LIBSELINUX(LOG_DEBUG, recommended);
+        r = dlopen_libselinux(LOG_DEBUG);
         if (r < 0)
                 return 0;
 
index 765185dbe75bc98213e67f7682c87561c6c64708..48432f8669c0695d76040d139a530d50285bd84e 100644 (file)
@@ -189,7 +189,7 @@ static int is_tmpfs_with_noswap(dev_t devno) {
         _cleanup_(mnt_free_tablep) struct libmnt_table *table = NULL;
         int r;
 
-        r = DLOPEN_LIBMOUNT(LOG_DEBUG, recommended);
+        r = dlopen_libmount(LOG_DEBUG);
         if (r < 0)
                 return r;
 
@@ -1473,6 +1473,7 @@ static int run(int argc, char *argv[]) {
         int r;
 
         LIBCRYPTO_NOTE(suggested);
+        LIBMOUNT_NOTE(recommended);
         TPM2_NOTE(suggested);
 
         log_setup();
index 83d448dc6569e19444ef24cd99c8673514990d64..d268eb99563cb936931fa849c85d4c64f54649ae 100644 (file)
@@ -344,7 +344,7 @@ static int vl_method_enroll(
         if (FLAGS_SET(flags, SD_VARLINK_METHOD_MORE))
                 c.link = sd_varlink_ref(link);
 
-        r = DLOPEN_CRYPTSETUP(LOG_DEBUG, required);
+        r = dlopen_cryptsetup(LOG_DEBUG);
         if (r < 0)
                 return r;
 
@@ -421,7 +421,7 @@ static int vl_method_list_slots(
         if (strdup_to(&c.node, node) < 0)
                 return -ENOMEM;
 
-        r = DLOPEN_CRYPTSETUP(LOG_DEBUG, required);
+        r = dlopen_cryptsetup(LOG_DEBUG);
         if (r < 0)
                 return r;
 
index f295585ff9d1fca065077b69579496361b06ccf2..32d79077c3f1b7361a47a95af43d67505d7f2a66 100644 (file)
@@ -1257,6 +1257,7 @@ static int run(int argc, char *argv[]) {
         int slot, r;
 
         LIBCRYPTO_NOTE(suggested);
+        LIBCRYPTSETUP_NOTE(required);
         LIBFIDO2_NOTE(suggested);
         LIBP11KIT_NOTE(suggested);
         LIBQRENCODE_NOTE(suggested);
@@ -1282,7 +1283,7 @@ static int run(int argc, char *argv[]) {
         if (r <= 0)
                 return r;
 
-        r = DLOPEN_CRYPTSETUP(LOG_ERR, required);
+        r = dlopen_cryptsetup(LOG_ERR);
         if (r < 0)
                 return r;
 
index 93be8dcb3c8bc9e25fbf59a349169b7a26beca6f..d920fdb243a544f2686a2d57734f4dd7d5212fc8 100644 (file)
@@ -19,6 +19,7 @@
 
 /* for libcryptsetup debug purpose */
 _public_ const char* cryptsetup_token_version(void) {
+        LIBCRYPTSETUP_NOTE(required);
         LIBFIDO2_NOTE(suggested);
 
         return TOKEN_VERSION_MAJOR "." TOKEN_VERSION_MINOR " systemd-v" PROJECT_VERSION_FULL " (" GIT_VERSION ")";
@@ -40,7 +41,7 @@ _public_ int cryptsetup_token_open_pin(
         assert(pin || pin_size == 0);
         assert(token >= 0);
 
-        r = DLOPEN_CRYPTSETUP(LOG_DEBUG, required);
+        r = dlopen_cryptsetup(LOG_DEBUG);
         if (r < 0)
                 return r;
 
@@ -105,7 +106,7 @@ _public_ void cryptsetup_token_dump(
 
         assert(json);
 
-        if (DLOPEN_CRYPTSETUP(LOG_DEBUG, required) < 0)
+        if (dlopen_cryptsetup(LOG_DEBUG) < 0)
                 return;
 
         r = parse_luks2_fido2_data(cd, json, &rp_id, &salt, &salt_size, &cid, &cid_size, &required);
@@ -172,7 +173,7 @@ _public_ int cryptsetup_token_validate(
 
         assert(json);
 
-        r = DLOPEN_CRYPTSETUP(LOG_DEBUG, required);
+        r = dlopen_cryptsetup(LOG_DEBUG);
         if (r < 0)
                 return r;
 
index 3c55866fb28b242df4b585916c17a3a402b338b8..8cc5995a8b9ae4b64310356645790ce215ed0d6e 100644 (file)
@@ -20,6 +20,7 @@
 /* for libcryptsetup debug purpose */
 _public_ const char* cryptsetup_token_version(void) {
         LIBCRYPTO_NOTE(suggested);
+        LIBCRYPTSETUP_NOTE(required);
         LIBP11KIT_NOTE(suggested);
 
         return TOKEN_VERSION_MAJOR "." TOKEN_VERSION_MINOR " systemd-v" PROJECT_VERSION_FULL " (" GIT_VERSION ")";
@@ -40,7 +41,7 @@ _public_ int cryptsetup_token_open_pin(
         assert(pin || pin_size == 0);
         assert(token >= 0);
 
-        r = DLOPEN_CRYPTSETUP(LOG_DEBUG, required);
+        r = dlopen_cryptsetup(LOG_DEBUG);
         if (r < 0)
                 return r;
 
@@ -98,7 +99,7 @@ _public_ void cryptsetup_token_dump(
         _cleanup_free_ void *pkcs11_key = NULL;
         Pkcs11RsaPadding rsa_padding = PKCS11_RSA_PADDING_PKCS1V15;
 
-        if (DLOPEN_CRYPTSETUP(LOG_DEBUG, required) < 0)
+        if (dlopen_cryptsetup(LOG_DEBUG) < 0)
                 return;
 
         r = parse_luks2_pkcs11_data(cd, json, &pkcs11_uri, &pkcs11_key, &pkcs11_key_size, &rsa_padding);
@@ -128,7 +129,7 @@ _public_ int cryptsetup_token_validate(
         sd_json_variant *w;
         _cleanup_(sd_json_variant_unrefp) sd_json_variant *v = NULL;
 
-        r = DLOPEN_CRYPTSETUP(LOG_DEBUG, required);
+        r = dlopen_cryptsetup(LOG_DEBUG);
         if (r < 0)
                 return r;
 
index 126982b6b273ae060f9af4bf4655aa7f241b0711..6da2c22a45691642e847f609d0a5beab36a7cc2c 100644 (file)
@@ -21,6 +21,7 @@
 /* for libcryptsetup debug purpose */
 _public_ const char* cryptsetup_token_version(void) {
         LIBCRYPTO_NOTE(suggested);
+        LIBCRYPTSETUP_NOTE(required);
         TPM2_NOTE(suggested);
 
         return TOKEN_VERSION_MAJOR "." TOKEN_VERSION_MINOR " systemd-v" PROJECT_VERSION_FULL " (" GIT_VERSION ")";
@@ -73,7 +74,7 @@ _public_ int cryptsetup_token_open_pin(
         assert(ret_password);
         assert(ret_password_len);
 
-        r = DLOPEN_CRYPTSETUP(LOG_DEBUG, required);
+        r = dlopen_cryptsetup(LOG_DEBUG);
         if (r < 0)
                 return r;
 
@@ -217,7 +218,7 @@ _public_ void cryptsetup_token_dump(
 
         assert(json);
 
-        if (DLOPEN_CRYPTSETUP(LOG_DEBUG, required) < 0)
+        if (dlopen_cryptsetup(LOG_DEBUG) < 0)
                 return;
 
         r = sd_json_parse(json, SD_JSON_PARSE_MUST_BE_OBJECT, &v, /* reterr_line= */ NULL, /* reterr_column= */ NULL);
@@ -313,7 +314,7 @@ _public_ int cryptsetup_token_validate(
 
         assert(json);
 
-        r = DLOPEN_CRYPTSETUP(LOG_DEBUG, required);
+        r = dlopen_cryptsetup(LOG_DEBUG);
         if (r < 0)
                 return r;
 
index bce07454a93d87b04973d8fa93e0b37887139d0a..794983dcb69294a883d5aec7ce6f75050f781a66 100644 (file)
@@ -539,7 +539,7 @@ static int parse_one_option(const char *option) {
 #if HAVE_OPENSSL
                 _cleanup_strv_free_ char **l = NULL;
 
-                r = DLOPEN_LIBCRYPTO(LOG_ERR, recommended);
+                r = dlopen_libcrypto(LOG_ERR);
                 if (r < 0)
                         return r;
 
@@ -2885,6 +2885,8 @@ static int run(int argc, char *argv[]) {
         int r;
 
         LIBBLKID_NOTE(recommended);
+        LIBCRYPTO_NOTE(recommended);
+        LIBCRYPTSETUP_NOTE(required);
         LIBFIDO2_NOTE(suggested);
         LIBMOUNT_NOTE(recommended);
         LIBP11KIT_NOTE(suggested);
@@ -2899,7 +2901,7 @@ static int run(int argc, char *argv[]) {
         if (r <= 0)
                 return r;
 
-        r = DLOPEN_CRYPTSETUP(LOG_ERR, required);
+        r = dlopen_cryptsetup(LOG_ERR);
         if (r < 0)
                 return r;
 
index 602306d9b9a8501db4a1cc22b9a6533e25658bd4..16a5d4662975b9a7fd2572d9bec8f07a5c580924 100644 (file)
@@ -494,7 +494,7 @@ static int parse_argv(int argc, char *argv[]) {
                         break;
 
                 OPTION_LONG("make-archive", NULL, "Convert the DDI to an archive file"):
-                        r = DLOPEN_LIBARCHIVE(LOG_ERR, recommended);
+                        r = dlopen_libarchive(LOG_ERR);
                         if (r < 0)
                                 return r;
 
@@ -1970,6 +1970,7 @@ static int run(int argc, char *argv[]) {
         int r;
 
         LIBACL_NOTE(recommended);
+        LIBARCHIVE_NOTE(recommended);
         LIBBLKID_NOTE(recommended);
         LIBCRYPTO_NOTE(suggested);
         LIBCRYPTSETUP_NOTE(suggested);
index e9b34529b526e96f7463686febced39f2ab2739c..8b1bb9b7599ca0ad74ce106cbece398cb58eeeb7 100644 (file)
@@ -34,7 +34,7 @@ static int resize_crypt_luks_device(dev_t devno, const char *fstype, dev_t main_
         uint64_t size;
         int r;
 
-        r = DLOPEN_CRYPTSETUP(LOG_WARNING, recommended);
+        r = dlopen_cryptsetup(LOG_WARNING);
         if (r < 0)
                 return r;
 
@@ -194,6 +194,7 @@ static int run(int argc, char *argv[]) {
         int r;
 
         LIBBLKID_NOTE(recommended);
+        LIBCRYPTSETUP_NOTE(recommended);
 
         log_setup();
 
index f4be3c0e70276b694665eba13b5270906c731ef8..98c24bafe156281264995ba30cca559506a88172 100644 (file)
@@ -2502,7 +2502,7 @@ static int verb_list_signing_keys(int argc, char *argv[], uintptr_t _data, void
                         /* Let's decode the PEM key to DER (so that we lose prefix/suffix), then truncate it
                          * for display reasons. */
 
-                        r = DLOPEN_LIBCRYPTO(LOG_DEBUG, recommended);
+                        r = dlopen_libcrypto(LOG_DEBUG);
                         if (r < 0)
                                 return r;
 
@@ -5185,6 +5185,7 @@ static int run(int argc, char *argv[]) {
         int r;
 
         LIBCRYPT_NOTE(recommended);
+        LIBCRYPTO_NOTE(recommended);
         LIBFIDO2_NOTE(suggested);
         LIBP11KIT_NOTE(suggested);
         LIBQRENCODE_NOTE(suggested);
index a19dc3f6c8a7ca47fc5f2189a8bcdf0cbb374608..d6ed1673b2b709983afab1103abfabe0164d0b58 100644 (file)
@@ -1545,7 +1545,7 @@ int manager_startup(Manager *m) {
 
         assert(m);
 
-        r = DLOPEN_LIBCRYPTO(LOG_ERR, required);
+        r = dlopen_libcrypto(LOG_ERR);
         if (r < 0)
                 return r;
 
index fc573c5f786e69e5bab419c8c971a2fca382c506..f36e61d04ed3615588c4305f0596d436e81b5f78 100644 (file)
@@ -20,6 +20,7 @@ static int run(int argc, char *argv[]) {
         int r;
 
         LIBCRYPT_NOTE(recommended);
+        LIBCRYPTO_NOTE(required);
         PASSWORD_NOTE(suggested);
 
         log_setup();
index 6c9692ff823b53ab472e49750d7e6fef76989be4..432f5d8678a88af3653b733b03480abaa3411b0e 100644 (file)
@@ -232,7 +232,7 @@ static int fscrypt_slot_try_v1(
         assert(encrypted_size > 0);
         assert(match_key_descriptor);
 
-        r = DLOPEN_LIBCRYPTO(LOG_ERR, recommended);
+        r = dlopen_libcrypto(LOG_ERR);
         if (r < 0)
                 return r;
 
@@ -331,7 +331,7 @@ static int fscrypt_slot_try_v2(
         assert(iovec_is_set(tag));
         assert(match_key_descriptor);
 
-        r = DLOPEN_LIBCRYPTO(LOG_ERR, recommended);
+        r = dlopen_libcrypto(LOG_ERR);
         if (r < 0)
                 return r;
 
@@ -700,7 +700,7 @@ static int fscrypt_slot_set(
         size_t encrypted_size;
         ssize_t ss;
 
-        r = DLOPEN_LIBCRYPTO(LOG_ERR, recommended);
+        r = dlopen_libcrypto(LOG_ERR);
         if (r < 0)
                 return r;
 
@@ -813,7 +813,7 @@ int home_create_fscrypt(
         assert(setup);
         assert(ret_home);
 
-        r = DLOPEN_LIBCRYPTO(LOG_ERR, recommended);
+        r = dlopen_libcrypto(LOG_ERR);
         if (r < 0)
                 return r;
 
index b18805fa3e3979a0868fda7cc2340623200ce288..c346ae7fea21a046116e204e42ffec601c275707 100644 (file)
@@ -146,7 +146,7 @@ static int probe_file_system_by_fd(
         assert(ret_fstype);
         assert(ret_uuid);
 
-        r = DLOPEN_LIBBLKID(LOG_DEBUG, recommended);
+        r = dlopen_libblkid(LOG_DEBUG);
         if (r < 0)
                 return r;
 
@@ -529,7 +529,7 @@ static int acquire_open_luks_device(
         assert(setup);
         assert(!setup->crypt_device);
 
-        r = DLOPEN_CRYPTSETUP(LOG_DEBUG, recommended);
+        r = dlopen_cryptsetup(LOG_DEBUG);
         if (r < 0)
                 return r;
 
@@ -684,7 +684,7 @@ static int luks_validate(
         assert(ret_size);
         assert(sector_size > 0);
 
-        r = DLOPEN_LIBBLKID(LOG_DEBUG, recommended);
+        r = dlopen_libblkid(LOG_DEBUG);
         if (r < 0)
                 return r;
 
@@ -805,7 +805,7 @@ static int crypt_device_to_evp_cipher(struct crypt_device *cd, const EVP_CIPHER
         assert(cd);
         assert(ret);
 
-        r = DLOPEN_LIBCRYPTO(LOG_ERR, recommended);
+        r = dlopen_libcrypto(LOG_ERR);
         if (r < 0)
                 return r;
 
@@ -1293,7 +1293,7 @@ int home_setup_luks(
         assert(setup);
         assert(user_record_storage(h) == USER_LUKS);
 
-        r = DLOPEN_CRYPTSETUP(LOG_DEBUG, recommended);
+        r = dlopen_cryptsetup(LOG_DEBUG);
         if (r < 0)
                 return r;
 
@@ -1594,7 +1594,7 @@ int home_activate_luks(
         assert(setup);
         assert(ret_home);
 
-        r = DLOPEN_CRYPTSETUP(LOG_DEBUG, recommended);
+        r = dlopen_cryptsetup(LOG_DEBUG);
         if (r < 0)
                 return r;
 
@@ -2211,11 +2211,11 @@ int home_create_luks(
         assert(setup->image_fd < 0);
         assert(ret_home);
 
-        r = DLOPEN_FDISK(LOG_DEBUG, recommended);
+        r = dlopen_fdisk(LOG_DEBUG);
         if (r < 0)
                 return r;
 
-        r = DLOPEN_CRYPTSETUP(LOG_DEBUG, recommended);
+        r = dlopen_cryptsetup(LOG_DEBUG);
         if (r < 0)
                 return r;
 
@@ -3250,11 +3250,11 @@ int home_resize_luks(
         assert(user_record_storage(h) == USER_LUKS);
         assert(setup);
 
-        r = DLOPEN_FDISK(LOG_DEBUG, recommended);
+        r = dlopen_fdisk(LOG_DEBUG);
         if (r < 0)
                 return r;
 
-        r = DLOPEN_CRYPTSETUP(LOG_DEBUG, recommended);
+        r = dlopen_cryptsetup(LOG_DEBUG);
         if (r < 0)
                 return r;
 
@@ -3712,7 +3712,7 @@ int home_passwd_luks(
         assert(user_record_storage(h) == USER_LUKS);
         assert(setup);
 
-        r = DLOPEN_CRYPTSETUP(LOG_DEBUG, recommended);
+        r = dlopen_cryptsetup(LOG_DEBUG);
         if (r < 0)
                 return r;
 
index 7e48f012069776f3a4b3c23de29fb509e341cc93..e8747b73ce719e16f6e10c689d696761ab627f26 100644 (file)
@@ -1329,7 +1329,7 @@ static int determine_default_storage(UserStorage *ret) {
                         if (r < 0)
                                 log_warning_errno(r, "Failed to determine if %s is encrypted, ignoring: %m", get_home_root());
 
-                        r = DLOPEN_CRYPTSETUP(LOG_DEBUG, recommended);
+                        r = dlopen_cryptsetup(LOG_DEBUG);
                         if (r < 0)
                                 log_info("Not using '%s' storage, since libcryptsetup could not be loaded.", user_storage_to_string(USER_LUKS));
                         else {
@@ -1999,7 +1999,11 @@ static int run(int argc, char *argv[]) {
         sd_json_variant *fdmap, *blob_fd_variant;
         int r;
 
+        LIBBLKID_NOTE(recommended);
         LIBCRYPT_NOTE(recommended);
+        LIBCRYPTO_NOTE(recommended);
+        LIBCRYPTSETUP_NOTE(recommended);
+        LIBFDISK_NOTE(recommended);
         LIBFIDO2_NOTE(suggested);
         LIBMOUNT_NOTE(recommended);
         LIBP11KIT_NOTE(suggested);
index c9a6a6ab289620209ebafccde2d7e7145266a1af..e4177092674ab1fcf3d8232a99209892af63f1ca 100644 (file)
@@ -6,6 +6,7 @@
 #include "bus-common-errors.h"
 #include "bus-locator.h"
 #include "bus-util.h"
+#include "dlopen-note.h"
 #include "fd-util.h"
 #include "home-util.h"
 #include "locale-util.h"
@@ -786,7 +787,8 @@ _public_ PAM_EXTERN int pam_sm_authenticate(
         bool debug = false;
         int r;
 
-        r = DLOPEN_LIBPAM(LOG_DEBUG, required);
+        LIBPAM_NOTE(required);
+        r = dlopen_libpam(LOG_DEBUG);
         if (r < 0)
                 return PAM_SERVICE_ERR;
 
@@ -851,7 +853,7 @@ _public_ PAM_EXTERN int pam_sm_open_session(
         bool debug = false;
         int r;
 
-        r = DLOPEN_LIBPAM(LOG_DEBUG, required);
+        r = dlopen_libpam(LOG_DEBUG);
         if (r < 0)
                 return PAM_SERVICE_ERR;
 
@@ -908,7 +910,7 @@ _public_ PAM_EXTERN int pam_sm_close_session(
         bool debug = false;
         int r;
 
-        r = DLOPEN_LIBPAM(LOG_DEBUG, required);
+        r = dlopen_libpam(LOG_DEBUG);
         if (r < 0)
                 return PAM_SERVICE_ERR;
 
@@ -973,7 +975,7 @@ _public_ PAM_EXTERN int pam_sm_acct_mgmt(
         usec_t t;
         int r;
 
-        r = DLOPEN_LIBPAM(LOG_DEBUG, required);
+        r = dlopen_libpam(LOG_DEBUG);
         if (r < 0)
                 return PAM_SERVICE_ERR;
 
@@ -1092,7 +1094,7 @@ _public_ PAM_EXTERN int pam_sm_chauthtok(
         bool debug = false;
         int r;
 
-        r = DLOPEN_LIBPAM(LOG_DEBUG, required);
+        r = dlopen_libpam(LOG_DEBUG);
         if (r < 0)
                 return PAM_SERVICE_ERR;
 
index 6eb1048034133a95c13458dfd16b201dbe4cb8c2..8d532ee655d7243bff99ae5e55894a2b35d2150c 100644 (file)
@@ -20,6 +20,7 @@
 #include "creds-util.h"
 #include "curl-util.h"
 #include "device-private.h"
+#include "dlopen-note.h"
 #include "dns-rr.h"
 #include "errno-util.h"
 #include "escape.h"
@@ -3047,13 +3048,15 @@ static int parse_proc_cmdline_item(const char *key, const char *value, void *dat
 static int run(int argc, char* argv[]) {
         int r;
 
+        LIBCURL_NOTE(required);
+
         log_setup();
 
         r = parse_argv(argc, argv);
         if (r <= 0)
                 return r;
 
-        r = DLOPEN_CURL(LOG_DEBUG, required);
+        r = dlopen_curl(LOG_DEBUG);
         if (r < 0)
                 return r;
 
index 0168311204c57007dc3bf151444ee56d831ec106..ef2b3e26ba2d9fc93ba71e6c0172187d5958fc48 100644 (file)
@@ -31,7 +31,7 @@ int import_fork_tar_x(int tree_fd, int userns_fd, PidRef *ret_pid) {
         assert(tree_fd >= 0);
         assert(ret_pid);
 
-        r = DLOPEN_LIBARCHIVE(LOG_DEBUG, recommended);
+        r = dlopen_libarchive(LOG_DEBUG);
         if (r < 0)
                 return r;
 
@@ -99,7 +99,7 @@ int import_fork_tar_c(int tree_fd, int userns_fd, PidRef *ret_pid) {
         assert(tree_fd >= 0);
         assert(ret_pid);
 
-        r = DLOPEN_LIBARCHIVE(LOG_DEBUG, recommended);
+        r = dlopen_libarchive(LOG_DEBUG);
         if (r < 0)
                 return r;
 
index d86c47039fba8578a3e0c0fb0abe17ed641e57aa..51714b1faa82c2e5b5db828a0ba2c210beacdb85 100644 (file)
@@ -281,7 +281,7 @@ static int pull_job_open_disk(PullJob *j) {
         }
 
         if (j->calc_checksum) {
-                r = DLOPEN_LIBCRYPTO(LOG_ERR, recommended);
+                r = dlopen_libcrypto(LOG_ERR);
                 if (r < 0)
                         return r;
 
index 7fe3a7e4dd655f8384937b497afb4e5549ba9faf..92296c4fede9c10897574d31024124a2d379591b 100644 (file)
@@ -610,6 +610,7 @@ static int run(int argc, char *argv[]) {
         int r;
 
         ARCHIVE_NOTE(recommended);
+        LIBCRYPTO_NOTE(recommended);
         LIBCURL_NOTE(suggested);
         LIBSELINUX_NOTE(recommended);
 
index f29fcda0ab58e165a1728eb0709e6aabb5799c69..bf2f40b0d4f76c9600ab6b4f328165a5f262984d 100644 (file)
@@ -6,6 +6,7 @@
 #include "alloc-util.h"
 #include "argv-util.h"
 #include "cryptsetup-util.h"
+#include "dlopen-note.h"
 #include "fileio.h"
 #include "format-table.h"
 #include "help-util.h"
@@ -199,12 +200,14 @@ static int verb_detach(int argc, char *argv[], uintptr_t _data, void *userdata)
 static int run(int argc, char *argv[]) {
         int r;
 
+        LIBCRYPTSETUP_NOTE(required);
+
         if (argv_looks_like_help(argc, argv))
                 return help();
 
         log_setup();
 
-        r = DLOPEN_CRYPTSETUP(LOG_ERR, required);
+        r = dlopen_cryptsetup(LOG_ERR);
         if (r < 0)
                 return r;
 
index 8a6e59c8d768e1eb78a1b05324c0b0c8ff5ced67..f2fd083c8a696a325aa4ef3cd4d16524e947ba37 100644 (file)
@@ -1261,6 +1261,7 @@ static int run(int argc, char *argv[]) {
 
         COMPRESS_JOURNAL_NOTE;
         LIBGNUTLS_NOTE(suggested);
+        LIBMICROHTTPD_NOTE(required);
 
         log_setup();
 
@@ -1268,7 +1269,7 @@ static int run(int argc, char *argv[]) {
         if (r <= 0)
                 return r;
 
-        r = DLOPEN_MICROHTTPD(LOG_ERR, required);
+        r = dlopen_microhttpd(LOG_ERR);
         if (r < 0)
                 return r;
 
index afa4e55edfc0b672a60263303e3d5ae5e7f4ad89..30757201f34658c0ab7ac3e2d0203bfcfbbfbf09 100644 (file)
@@ -469,7 +469,7 @@ static int setup_microhttpd_server(RemoteServer *s,
 #if HAVE_MICROHTTPD
         int r;
 
-        r = DLOPEN_MICROHTTPD(LOG_ERR, required);
+        r = dlopen_microhttpd(LOG_ERR);
         if (r < 0)
                 return r;
 
@@ -1170,6 +1170,7 @@ static int run(int argc, char **argv) {
         COMPRESS_DEFAULT_NOTE;
         LIBCRYPTO_NOTE(suggested);
         LIBGNUTLS_NOTE(suggested);
+        LIBMICROHTTPD_NOTE(required);
         LIBSELINUX_NOTE(recommended);
 
         log_setup();
index 48a8df559ef92b551f31bc922116017af31bf878..d680a4c02b119e89b8463fd531d5420d9742c4a3 100644 (file)
@@ -871,6 +871,7 @@ static int run(int argc, char **argv) {
         int r;
 
         COMPRESS_DEFAULT_NOTE;
+        LIBCURL_NOTE(required);
 
         log_setup();
 
@@ -882,7 +883,7 @@ static int run(int argc, char **argv) {
         if (r <= 0)
                 return r;
 
-        r = DLOPEN_CURL(LOG_DEBUG, required);
+        r = dlopen_curl(LOG_DEBUG);
         if (r < 0)
                 return r;
 
index 180291ce34edbc4aa8cfbe25cfcc6ae2322d1ecf..3484aba54407196c8bb209abe8b75e50b99df23f 100644 (file)
@@ -70,7 +70,7 @@ int action_setup_keys(void) {
 
         assert(arg_action == ACTION_SETUP_KEYS);
 
-        r = DLOPEN_LIBCRYPTO(LOG_ERR, recommended);
+        r = dlopen_libcrypto(LOG_ERR);
         if (r < 0)
                 return r;
 
index 4bc648ceffe44a75fb07cc5348c6939de763493c..ce9470cf760b731873c661fe4dbc2bb585dee467 100644 (file)
@@ -1035,6 +1035,7 @@ static int run(int argc, char *argv[]) {
         COMPRESS_JOURNAL_NOTE;
         LIBACL_NOTE(recommended);
         LIBBLKID_NOTE(recommended);
+        LIBCRYPTO_NOTE(recommended);
         LIBCRYPTSETUP_NOTE(suggested);
         LIBMOUNT_NOTE(recommended);
         LIBPCRE2_NOTE(suggested);
index 4915e9c95dc3ced6d666a00ddf5d117d64dc143f..51c83478ebde4c1aeb1ed10bfabf5775aa5af359 100644 (file)
@@ -4,6 +4,7 @@
 #include "ask-password-api.h"
 #include "build.h"
 #include "crypto-util.h"
+#include "dlopen-note.h"
 #include "fd-util.h"
 #include "fileio.h"
 #include "format-table.h"
@@ -233,7 +234,7 @@ static int verb_extract_public(int argc, char *argv[], uintptr_t _data, void *us
                                 return r;
                 }
 
-                r = DLOPEN_LIBCRYPTO(LOG_ERR, required);
+                r = dlopen_libcrypto(LOG_ERR);
                 if (r < 0)
                         return r;
 
@@ -405,6 +406,8 @@ static int verb_pkcs7(int argc, char *argv[], uintptr_t _data, void *userdata) {
 static int run(int argc, char *argv[]) {
         int r;
 
+        LIBCRYPTO_NOTE(required);
+
         log_setup();
 
         char **args = NULL;
index fa603ba015f80603878a9329e0c970094b465087..6b5ee9afbaad6bbf19d693c41ea6f803d7491556 100644 (file)
@@ -1807,7 +1807,8 @@ _public_ PAM_EXTERN int pam_sm_open_session(
 
         assert(pamh);
 
-        r = DLOPEN_LIBPAM(LOG_DEBUG, required);
+        LIBPAM_NOTE(required);
+        r = dlopen_libpam(LOG_DEBUG);
         if (r < 0)
                 return PAM_SERVICE_ERR;
 
@@ -1915,7 +1916,7 @@ _public_ PAM_EXTERN int pam_sm_close_session(
 
         assert(pamh);
 
-        r = DLOPEN_LIBPAM(LOG_DEBUG, required);
+        r = dlopen_libpam(LOG_DEBUG);
         if (r < 0)
                 return PAM_SERVICE_ERR;
 
index ee17e650a7926db0ff5025e4809b36ad471f9bbe..41afb8ba239c7cd40a73447091fb2cbd6fdd7fc2 100644 (file)
@@ -19,7 +19,8 @@ _public_ PAM_EXTERN int pam_sm_authenticate(
 
         assert(pamh);
 
-        r = DLOPEN_LIBPAM(LOG_DEBUG, required);
+        LIBPAM_NOTE(required);
+        r = dlopen_libpam(LOG_DEBUG);
         if (r < 0)
                 return PAM_SERVICE_ERR;
 
index b224f95b35e491e9669fd62eb62e9d4c9b4baa71..bcd20743ed27d5216065b122c0930e88895021a2 100644 (file)
@@ -179,7 +179,7 @@ static int parse_argv(int argc, char *argv[], char ***ret_args) {
                             "Select TPM bank (SHA1, SHA256, SHA384, SHA512)"): {
                         const EVP_MD *implementation;
 
-                        r = DLOPEN_LIBCRYPTO(LOG_ERR, required);
+                        r = dlopen_libcrypto(LOG_ERR);
                         if (r < 0)
                                 return r;
 
@@ -1131,6 +1131,7 @@ static int verb_policy_digest(int argc, char *argv[], uintptr_t _data, void *use
 static int run(int argc, char *argv[]) {
         int r;
 
+        LIBCRYPTO_NOTE(required);
         TPM2_NOTE(suggested);
 
         log_setup();
@@ -1140,7 +1141,7 @@ static int run(int argc, char *argv[]) {
         if (r <= 0)
                 return r;
 
-        r = DLOPEN_LIBCRYPTO(LOG_ERR, required);
+        r = dlopen_libcrypto(LOG_ERR);
         if (r < 0)
                 return r;
 
index 887ef5d1796f997e5356a11ea02128f249ef1873..ca58a1815e79826b16291fc913eb7837db3fdd16 100644 (file)
@@ -108,7 +108,8 @@ int manager_install_sysctl_monitor(Manager *manager) {
 
         assert(manager);
 
-        r = DLOPEN_BPF(LOG_DEBUG, recommended);
+        LIBBPF_NOTE(recommended);
+        r = dlopen_bpf(LOG_DEBUG);
         if (ERRNO_IS_NEG_NOT_SUPPORTED(r))
                 return log_debug_errno(r, "sysctl monitor disabled, as BPF support is not available.");
         if (r < 0)
index e113a6097bca2b87b6e1e454a7173a4e0ee6a40b..545f80f8ed35d74c09e435c38f45c256346aad9c 100644 (file)
@@ -1826,7 +1826,7 @@ static int oci_seccomp(const char *name, sd_json_variant *v, sd_json_dispatch_fl
         if (r < 0)
                 return json_log(def, flags, r, "Unknown default action: %s", sd_json_variant_string(def));
 
-        r = DLOPEN_LIBSECCOMP(LOG_DEBUG, recommended);
+        r = dlopen_libseccomp(LOG_DEBUG);
         if (r < 0)
                 return json_log(def, flags, r, "No support for libseccomp: %m");
 
index 959aef9b7167963c3074546cc789b56bbc5d15f3..2b2083a818e557d9012a9112356078d2fb309e8d 100644 (file)
@@ -45,6 +45,7 @@
 #include "devnum-util.h"
 #include "discover-image.h"
 #include "dissect-image.h"
+#include "dlopen-note.h"
 #include "env-util.h"
 #include "escape.h"
 #include "ether-addr-util.h"
@@ -6148,13 +6149,20 @@ static int run(int argc, char *argv[]) {
         if (arg_cleanup)
                 return do_cleanup();
 
-        (void) DLOPEN_CRYPTSETUP(LOG_DEBUG, suggested);
-        (void) DLOPEN_LIBACL(LOG_DEBUG, recommended);
-        (void) DLOPEN_LIBBLKID(LOG_DEBUG, recommended);
-        (void) DLOPEN_LIBCRYPTO(LOG_WARNING, recommended);
-        (void) DLOPEN_LIBMOUNT(LOG_DEBUG, recommended);
-        (void) DLOPEN_LIBSECCOMP(LOG_DEBUG, recommended);
-        (void) DLOPEN_LIBSELINUX(LOG_DEBUG, recommended);
+        LIBACL_NOTE(recommended);
+        LIBBLKID_NOTE(recommended);
+        LIBCRYPTO_NOTE(recommended);
+        LIBCRYPTSETUP_NOTE(suggested);
+        LIBMOUNT_NOTE(recommended);
+        LIBSECCOMP_NOTE(recommended);
+        LIBSELINUX_NOTE(recommended);
+        (void) dlopen_cryptsetup(LOG_DEBUG);
+        (void) dlopen_libacl(LOG_DEBUG);
+        (void) dlopen_libblkid(LOG_DEBUG);
+        (void) dlopen_libcrypto(LOG_WARNING);
+        (void) dlopen_libmount(LOG_DEBUG);
+        (void) dlopen_libseccomp(LOG_DEBUG);
+        (void) dlopen_libselinux(LOG_DEBUG);
 
         r = cg_has_legacy();
         if (r < 0)
index dc2ab9b67e5db2f7740a6f25e5169021cbfed757..99f5223671363ed16ad4b34c22cb9d779318eac7 100644 (file)
@@ -68,7 +68,8 @@ int userns_restrict_install(
         if (r == 0)
                 return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), "bpf-lsm not supported, can't lock down user namespace.");
 
-        r = DLOPEN_BPF(LOG_DEBUG, recommended);
+        LIBBPF_NOTE(recommended);
+        r = dlopen_bpf(LOG_DEBUG);
         if (r < 0)
                 return r;
 
index 5a98d66b6cdca23d5feb5d95a565ff0bba113b7f..b32a5c708b74faf9d333d4682976413cfd2833be 100644 (file)
@@ -91,7 +91,7 @@ static int parse_argv(int argc, char *argv[], char ***ret_args) {
                 OPTION_LONG("bank", "DIGEST", "Select TPM PCR bank (SHA1, SHA256)"): {
                         const EVP_MD *implementation;
 
-                        r = DLOPEN_LIBCRYPTO(LOG_ERR, required);
+                        r = dlopen_libcrypto(LOG_ERR);
                         if (r < 0)
                                 return r;
 
@@ -508,6 +508,7 @@ static int run(int argc, char *argv[]) {
         int r;
 
         LIBBLKID_NOTE(recommended);
+        LIBCRYPTO_NOTE(required);
         TPM2_NOTE(suggested);
 
         log_setup();
index cb39737b1ecf186bedf7f8bf518fa9d2d51c2634..ecb0bb30e6b3d687fecbb2200074fc9010b9b36c 100644 (file)
@@ -5708,6 +5708,7 @@ static int run(int argc, char *argv[]) {
         int r;
 
         LIBBLKID_NOTE(recommended);
+        LIBCRYPTO_NOTE(required);
         LIBSELINUX_NOTE(recommended);
         TPM2_NOTE(suggested);
 
@@ -5722,7 +5723,7 @@ static int run(int argc, char *argv[]) {
         if (r <= 0)
                 return r;
 
-        r = DLOPEN_LIBCRYPTO(LOG_ERR, required);
+        r = dlopen_libcrypto(LOG_ERR);
         if (r < 0)
                 return r;
 
index c2691b6ff9e2cab03bb7ce1020106b26fe348005..7c21187caa36c466344ec2b5607ac93d49a457ac 100644 (file)
@@ -610,8 +610,8 @@ static int portable_extract_by_path(
                  * there, and extract the metadata we need. The metadata is sent from the child back to us. */
 
                 /* Load some libraries before we fork workers off that want to use them */
-                (void) DLOPEN_CRYPTSETUP(LOG_DEBUG, recommended);
-                (void) DLOPEN_LIBMOUNT(LOG_DEBUG, required);
+                (void) dlopen_cryptsetup(LOG_DEBUG);
+                (void) dlopen_libmount(LOG_DEBUG);
 
                 r = mkdtemp_malloc("/tmp/inspect-XXXXXX", &tmpdir);
                 if (r < 0)
index 2a8bdc36c78acd578b7e1d364d36250fcdecf8ef..b79491e2d8218c159ac94da03ff277eccdb58365 100644 (file)
@@ -146,6 +146,8 @@ static int run(int argc, char *argv[]) {
 
         LIBBLKID_NOTE(recommended);
         LIBCRYPTO_NOTE(suggested);
+        LIBCRYPTSETUP_NOTE(recommended);
+        LIBMOUNT_NOTE(required);
         LIBSELINUX_NOTE(recommended);
 
         log_setup();
index bd8df61263354e11dc9b879918101b264100219e..140c2913dde93cb3e6873a4580b2a601fc83fbac 100644 (file)
@@ -3108,7 +3108,7 @@ static int partition_read_definition(
                                   "Cannot format %s filesystem without source files, refusing.", p->format);
 
         if (p->verity != VERITY_OFF || p->encrypt != ENCRYPT_OFF) {
-                r = DLOPEN_CRYPTSETUP(LOG_DEBUG, recommended);
+                r = dlopen_cryptsetup(LOG_DEBUG);
                 if (r < 0)
                         return log_syntax(NULL, LOG_ERR, path, 1, r,
                                           "libcryptsetup not found, Verity=/Encrypt= are not supported: %m");
@@ -4758,7 +4758,7 @@ static int context_wipe_range(Context *context, uint64_t offset, uint64_t size)
         assert(offset != UINT64_MAX);
         assert(size != UINT64_MAX);
 
-        r = DLOPEN_LIBBLKID(LOG_ERR, required);
+        r = dlopen_libblkid(LOG_ERR);
         if (r < 0)
                 return r;
 
@@ -5459,7 +5459,7 @@ static int partition_encrypt(Context *context, Partition *p, PartitionTarget *ta
         assert(p);
         assert(p->encrypt != ENCRYPT_OFF);
 
-        r = DLOPEN_CRYPTSETUP(LOG_ERR, recommended);
+        r = dlopen_cryptsetup(LOG_ERR);
         if (r < 0)
                 return r;
 
@@ -6002,7 +6002,7 @@ static int partition_format_verity_hash(
 
         (void) partition_hint(p, node, &hint);
 
-        r = DLOPEN_CRYPTSETUP(LOG_ERR, recommended);
+        r = dlopen_cryptsetup(LOG_ERR);
         if (r < 0)
                 return r;
 
@@ -6107,7 +6107,7 @@ static int sign_verity_roothash(
         assert(iovec_is_set(roothash));
         assert(ret_signature);
 
-        r = DLOPEN_LIBCRYPTO(LOG_ERR, recommended);
+        r = dlopen_libcrypto(LOG_ERR);
         if (r < 0)
                 return r;
 
@@ -7218,7 +7218,7 @@ static int partition_populate_filesystem(Context *context, Partition *p, const c
          * appear in the host namespace. Hence we fork a child that has its own file system namespace and
          * detached mount propagation. */
 
-        (void) DLOPEN_LIBMOUNT(LOG_DEBUG, required);
+        (void) dlopen_libmount(LOG_DEBUG);
 
         r = pidref_safe_fork(
                         "(sd-copy)",
@@ -8854,7 +8854,7 @@ static int resolve_copy_blocks_auto_candidate(
                 return log_error_errno(r, "Failed to open block device " DEVNUM_FORMAT_STR ": %m",
                                        DEVNUM_FORMAT_VAL(whole_devno));
 
-        r = DLOPEN_LIBBLKID(LOG_ERR, required);
+        r = dlopen_libblkid(LOG_ERR);
         if (r < 0)
                 return r;
 
@@ -11696,6 +11696,11 @@ static int run(int argc, char *argv[]) {
         bool node_is_our_loop = false;
         int r;
 
+        LIBBLKID_NOTE(required);
+        LIBCRYPTO_NOTE(recommended);
+        LIBCRYPTSETUP_NOTE(recommended);
+        LIBFDISK_NOTE(required);
+        LIBMOUNT_NOTE(required);
         LIBSELINUX_NOTE(recommended);
         TPM2_NOTE(suggested);
 
@@ -11705,7 +11710,7 @@ static int run(int argc, char *argv[]) {
         if (r <= 0)
                 return r;
 
-        r = DLOPEN_FDISK(LOG_ERR, required);
+        r = dlopen_fdisk(LOG_ERR);
         if (r < 0)
                 return r;
 
index 41b342cad63f0a09c1758c8fa789c9e5e62839b0..45f4c86cd69d15fe057f4beeae73beb89c514e48 100644 (file)
@@ -9,6 +9,7 @@
 #include "alloc-util.h"
 #include "build.h"
 #include "crypto-util.h"
+#include "dlopen-note.h"
 #include "errno-util.h"
 #include "fd-util.h"
 #include "fileio.h"
@@ -304,7 +305,7 @@ static int vl_server(void) {
         _cleanup_(sd_varlink_server_unrefp) sd_varlink_server *vs = NULL;
         int r;
 
-        r = DLOPEN_LIBCRYPTO(LOG_ERR, required);
+        r = dlopen_libcrypto(LOG_ERR);
         if (r < 0)
                 return r;
 
@@ -391,6 +392,8 @@ static int parse_argv(int argc, char *argv[]) {
 static int run(int argc, char *argv[]) {
         int r;
 
+        LIBCRYPTO_NOTE(required);
+
         log_setup();
 
         r = parse_argv(argc, argv);
index 01981c3ecf45f35cab496e24c8f1c9020ab8d4a3..4178e8de33b53cc80a933d6671c19e9a2cf1ebda 100644 (file)
@@ -64,7 +64,7 @@ static int http_upload_report(Context *context, sd_json_variant *report) {
         char error[CURL_ERROR_SIZE] = {};
         int r;
 
-        r = DLOPEN_CURL(LOG_DEBUG, required);
+        r = dlopen_curl(LOG_DEBUG);
         if (r < 0)
                 return r;
 
index c3b014a008085f8271f63d820c65b65edafd323b..8b756e0c2d2829811bf5e1bb7626dc71056babe2 100644 (file)
@@ -7,6 +7,7 @@
 #include "build.h"
 #include "chase.h"
 #include "dirent-util.h"
+#include "dlopen-note.h"
 #include "format-table.h"
 #include "help-util.h"
 #include "log.h"
@@ -1024,6 +1025,8 @@ static int run(int argc, char *argv[]) {
         char **args = NULL;
         int r;
 
+        LIBCURL_NOTE(required);
+
         log_setup();
 
         /* If invoked as a socket-activated Varlink service (Accept=yes), act as the io.systemd.Report
index ea6ee54ba6246a24a9a5f1ab6af62f876e3330f9..853df2a987999c97fe6edbd83980fbc1c66e5d04 100644 (file)
@@ -3794,6 +3794,7 @@ static int run(int argc, char **argv) {
         int r;
 
         LIBCRYPTO_NOTE(suggested);
+        LIBIDN2_NOTE(recommended);
 
         setlocale(LC_ALL, "");
         log_setup();
index c8821f189c6075812afc562c4090731ed2a1def8..0e234111d3499f3d3425030135d88ba1f15c70fb 100644 (file)
@@ -735,7 +735,7 @@ int dnssec_verify_rrset(
         assert(dnskey);
         assert(result);
 
-        r = DLOPEN_LIBCRYPTO(LOG_WARNING, recommended);
+        r = dlopen_libcrypto(LOG_WARNING);
         if (r < 0)
                 return r;
 
@@ -1092,7 +1092,7 @@ int dnssec_verify_dnskey_by_ds(DnsResourceRecord *dnskey, DnsResourceRecord *ds,
         assert(dnskey);
         assert(ds);
 
-        r = DLOPEN_LIBCRYPTO(LOG_WARNING, recommended);
+        r = dlopen_libcrypto(LOG_WARNING);
         if (r < 0)
                 return r;
 
@@ -1232,7 +1232,7 @@ int dnssec_nsec3_hash(DnsResourceRecord *nsec3, const char *name, void *ret) {
         assert(name);
         assert(ret);
 
-        r = DLOPEN_LIBCRYPTO(LOG_WARNING, recommended);
+        r = dlopen_libcrypto(LOG_WARNING);
         if (r < 0)
                 return r;
 
index a8d823af1e56b64c00a42b9da96c24e1dae0fcd5..7819c61838f34da72529575055d15f572537af39 100644 (file)
@@ -412,11 +412,11 @@ int dnstls_manager_init(Manager *manager) {
         if (manager->dnstls_data.ctx)
                 return 0;
 
-        r = DLOPEN_LIBCRYPTO(LOG_WARNING, recommended);
+        r = dlopen_libcrypto(LOG_WARNING);
         if (r < 0)
                 return r;
 
-        r = DLOPEN_LIBSSL(LOG_WARNING, recommended);
+        r = dlopen_libssl(LOG_WARNING);
         if (r < 0)
                 return r;
 
index 6fd6c049f914a8e313270497ebbc1ba9556440d7..094ef006985137df465aab60bafc08e5717afaee 100644 (file)
@@ -36,7 +36,7 @@ int resolve_system_hostname(char **full_hostname, char **first_label) {
 #if HAVE_LIBIDN2
         _cleanup_free_ char *utf8 = NULL;
 
-        if (DLOPEN_IDN(LOG_DEBUG, recommended) >= 0) {
+        if (dlopen_idn(LOG_DEBUG) >= 0) {
                 r = sym_idn2_to_unicode_8z8z(label, &utf8, 0);
                 if (r != IDN2_OK)
                         return log_debug_errno(SYNTHETIC_ERRNO(EUCLEAN),
index ba487c9172922c97f09337fe69642ca48f0cc7f1..0b6e3e983d58e60a5425f7b5e3f4dfc23feb0bb6 100644 (file)
@@ -25,7 +25,10 @@ static int run(int argc, char *argv[]) {
         _unused_ _cleanup_(notify_on_cleanup) const char *notify_stop = NULL;
         int r;
 
+        LIBCRYPTO_NOTE(recommended);
+        LIBIDN2_NOTE(recommended);
         LIBSELINUX_NOTE(recommended);
+        LIBSSL_NOTE(recommended);
 
         log_setup();
 
index d7eb9a6f2100e16e5d4d57028a31bf7394e4b886..bed464e8ce09004ebcbdd4030b614657e4fbfe79 100644 (file)
@@ -9,6 +9,7 @@
 #include "build.h"
 #include "copy.h"
 #include "crypto-util.h"
+#include "dlopen-note.h"
 #include "efi.h"
 #include "fd-util.h"
 #include "fileio.h"
@@ -406,7 +407,7 @@ static int verb_sign(int argc, char *argv[], uintptr_t _data, void *userdata) {
         _cleanup_(iovec_done) struct iovec signed_attributes_signature = {};
         int r;
 
-        r = DLOPEN_LIBCRYPTO(LOG_ERR, required);
+        r = dlopen_libcrypto(LOG_ERR);
         if (r < 0)
                 return r;
 
@@ -697,6 +698,8 @@ static int verb_sign(int argc, char *argv[], uintptr_t _data, void *userdata) {
 static int run(int argc, char *argv[]) {
         int r;
 
+        LIBCRYPTO_NOTE(required);
+
         log_setup();
 
         char **args = NULL;
index 93066301da6505f6f6145be3a8852e81900f6ce7..c1eebac805da4ebde9d54d4db3aaa0bf462deae6 100644 (file)
@@ -99,12 +99,6 @@ static inline int fd_add_uid_acl_permission(int fd, uid_t uid, unsigned mask) {
 
 int dlopen_libacl(int log_level) _dlopen_loader_;
 
-#define DLOPEN_LIBACL(log_level, priority)                              \
-        ({                                                              \
-                LIBACL_NOTE(priority);                                  \
-                dlopen_libacl(log_level);                               \
-        })
-
 int fd_acl_make_read_only(int fd);
 int fd_acl_make_writable(int fd);
 
index 0f3175d616bba4d8d7de9e55800a4e7bd46b10fe..41eb591d1f3a5b69aaf6a8471229a4f7b076001b 100644 (file)
@@ -70,9 +70,3 @@ int blkid_probe_lookup_value_u64(blkid_probe b, const char *field, uint64_t *ret
 #endif
 
 int dlopen_libblkid(int log_level) _dlopen_loader_;
-
-#define DLOPEN_LIBBLKID(log_level, priority)                            \
-        ({                                                              \
-                LIBBLKID_NOTE(priority);                                \
-                dlopen_libblkid(log_level);                             \
-        })
index b21cce18bb04783d9d06059f2c6ae617419ee862..45c264773f681e3a0cdaafdaf44e5048925939d7 100644 (file)
@@ -95,9 +95,3 @@ int bpf_get_error_translated(const void *ptr);
 #endif
 
 int dlopen_bpf(int log_level) _dlopen_loader_;
-
-#define DLOPEN_BPF(log_level, priority)                                 \
-        ({                                                              \
-                LIBBPF_NOTE(priority);                                  \
-                dlopen_bpf(log_level);                                  \
-        })
index 17d29b8915fc83f3f734fb0089adb18166c693d1..b0ed8cc36b7b6cfed7550dd71a8e3ed1efa7d3e1 100644 (file)
@@ -449,12 +449,6 @@ DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(OpenSSLAskPasswordUI*, openssl_ask_password_ui_
 int dlopen_libcrypto(int log_level) _dlopen_loader_;
 bool dlopen_libcrypto_has_argon2id(void);
 
-#define DLOPEN_LIBCRYPTO(log_level, priority)                           \
-        ({                                                              \
-                LIBCRYPTO_NOTE(priority);                               \
-                dlopen_libcrypto(log_level);                            \
-        })
-
 typedef struct Argon2IdParameters {
         uint64_t memcost_bytes;
         uint32_t iterations;
index 2e49c35d92c79774b20ada1f08bee42a70a7780a..0a293c87bac7b8dc17cfdf5eea8964d4d629fb4b 100644 (file)
@@ -101,12 +101,6 @@ int cryptsetup_get_volume_key_id(struct crypt_device *cd, const char *volume_nam
 
 int dlopen_cryptsetup(int log_level) _dlopen_loader_;
 
-#define DLOPEN_CRYPTSETUP(log_level, priority)                          \
-        ({                                                              \
-                LIBCRYPTSETUP_NOTE(priority);                           \
-                dlopen_cryptsetup(log_level);                           \
-        })
-
 int cryptsetup_get_keyslot_from_token(sd_json_variant *v);
 
 const char* mangle_none(const char *s);
index d3d4e21c868f16d0146c42de52e9980b1294e57a..d728c3b1b9dd55ca27674a617cb6bc7aec9c49c5 100644 (file)
@@ -78,9 +78,3 @@ DEFINE_TRIVIAL_CLEANUP_FUNC_FULL_RENAME(struct curl_slist*, sym_curl_slist_free_
 #endif
 
 int dlopen_curl(int log_level) _dlopen_loader_;
-
-#define DLOPEN_CURL(log_level, priority)                                \
-        ({                                                              \
-                LIBCURL_NOTE(priority);                                 \
-                dlopen_curl(log_level);                                 \
-        })
index 6f6ae6b438fa5e55c921e022a9dc4c9518a61185..289ca71d6351708df1f6d9922f73bdc34906789c 100644 (file)
@@ -90,9 +90,3 @@ int fdisk_partition_set_attrs_as_uint64(struct fdisk_partition *pa, uint64_t fla
 #endif
 
 int dlopen_fdisk(int log_level) _dlopen_loader_;
-
-#define DLOPEN_FDISK(log_level, priority)                               \
-        ({                                                              \
-                LIBFDISK_NOTE(priority);                                \
-                dlopen_fdisk(log_level);                                \
-        })
index 945b7cd927c1a251bb8a8d25eb5ea47ff1dd7ee1..08af93fdffe4c00668d51e6e163f4eae3e4a11f9 100644 (file)
@@ -19,9 +19,3 @@ extern DLSYM_PROTOTYPE(idn2_to_unicode_8z8z);
 #endif
 
 int dlopen_idn(int log_level) _dlopen_loader_;
-
-#define DLOPEN_IDN(log_level, priority)                                 \
-        ({                                                              \
-                LIBIDN2_NOTE(priority);                                 \
-                dlopen_idn(log_level);                                  \
-        })
index 77971236fa99e3ee7e8cf75c6c04273d25318e2a..e797e1d675cdfe339c3b7dc073c88928ecfc1079 100644 (file)
@@ -86,9 +86,3 @@ DEFINE_TRIVIAL_CLEANUP_FUNC_FULL_RENAME(struct archive*, sym_archive_read_free,
 #endif
 
 int dlopen_libarchive(int log_level) _dlopen_loader_;
-
-#define DLOPEN_LIBARCHIVE(log_level, priority)                          \
-        ({                                                              \
-                LIBARCHIVE_NOTE(priority);                              \
-                dlopen_libarchive(log_level);                           \
-        })
index 6352b84eb589ad9140d25be04afd8cee384b20a0..056a67da218fe2048670ffa1eac8874ff0e6f85b 100644 (file)
@@ -89,9 +89,3 @@ static inline void* sym_mnt_unref_monitor(struct libmnt_monitor *p) {
 #endif
 
 int dlopen_libmount(int log_level) _dlopen_loader_;
-
-#define DLOPEN_LIBMOUNT(log_level, priority)                            \
-        ({                                                              \
-                LIBMOUNT_NOTE(priority);                                \
-                dlopen_libmount(log_level);                             \
-        })
index 20fd2545ae1300330129f84a56b9e4e906cc5c20..4c5fafc8d37703d745c20ae564140d517a2f6105 100644 (file)
@@ -138,9 +138,3 @@ DEFINE_TRIVIAL_CLEANUP_FUNC_FULL_RENAME(struct MHD_Response*, sym_MHD_destroy_re
 #endif
 
 int dlopen_microhttpd(int log_level) _dlopen_loader_;
-
-#define DLOPEN_MICROHTTPD(log_level, priority)                          \
-        ({                                                              \
-                LIBMICROHTTPD_NOTE(priority);                           \
-                dlopen_microhttpd(log_level);                           \
-        })
index 5dd3d475dc397d9516ca2c0b8feb912806eb2a2d..fcd103b556745d7b6f76ccb2a25cf66abdf75c89 100644 (file)
@@ -54,9 +54,3 @@ static inline int module_load_and_warn(struct kmod_ctx *ctx, const char *module,
 #endif
 
 int dlopen_libkmod(int log_level) _dlopen_loader_;
-
-#define DLOPEN_LIBKMOD(log_level, priority)                             \
-        ({                                                              \
-                LIBKMOD_NOTE(priority);                                 \
-                dlopen_libkmod(log_level);                              \
-        })
index ed085fa771357aedecf30b0a97bc6db50c2ffbaf..fdfddef0f4b9f36b5fc3eadf1479228b63d8e0b4 100644 (file)
@@ -111,9 +111,3 @@ int pam_putenv_assign(pam_handle_t *pamh, const char *name, const char *value);
 #endif
 
 int dlopen_libpam(int log_level) _dlopen_loader_;
-
-#define DLOPEN_LIBPAM(log_level, priority)                              \
-        ({                                                              \
-                LIBPAM_NOTE(priority);                                  \
-                dlopen_libpam(log_level);                               \
-        })
index fc164488c5b1511c7482fc6a3f1613558dc21dca..699d819ecc01d349e6fd3d9e550b732502ac3731 100644 (file)
@@ -166,17 +166,10 @@ static inline bool is_seccomp_available(void) {
         return false;
 }
 
-
 #endif
 
 int dlopen_libseccomp(int log_level) _dlopen_loader_;
 
-#define DLOPEN_LIBSECCOMP(log_level, priority)                          \
-        ({                                                              \
-                LIBSECCOMP_NOTE(priority);                              \
-                dlopen_libseccomp(log_level);                           \
-        })
-
 /* This is a special value to be used where syscall filters otherwise expect errno numbers, will be
    replaced with real seccomp action. */
 enum {
index ed76e6532e99f8d3001af3fabb2793f4187d0dfc..d3619633447c15570ce0993b4dbe69cfa0d38017 100644 (file)
@@ -65,12 +65,6 @@ static inline void freeconp(char **p) {
 
 int dlopen_libselinux(int log_level) _dlopen_loader_;
 
-#define DLOPEN_LIBSELINUX(log_level, priority)                          \
-        ({                                                              \
-                LIBSELINUX_NOTE(priority);                              \
-                dlopen_libselinux(log_level);                           \
-        })
-
 #define _cleanup_freecon_ _cleanup_(freeconp)
 
 /* This accepts 0 error, like _zerook(). */
index 16096ff426bd31d14cd3a5fa6907b7aa990b4a13..0058628894347155c694a8a86d0c12335ec67574 100644 (file)
@@ -48,9 +48,3 @@ DEFINE_TRIVIAL_CLEANUP_FUNC_FULL_RENAME(SSL_CTX*, sym_SSL_CTX_free, SSL_CTX_free
 #endif
 
 int dlopen_libssl(int log_level) _dlopen_loader_;
-
-#define DLOPEN_LIBSSL(log_level, priority)                              \
-        ({                                                              \
-                LIBSSL_NOTE(priority);                                  \
-                dlopen_libssl(log_level);                               \
-        })
index 982a0862cbcf0cf06d58930e7fea00742b92e8e5..d8da991784bf60a53be36c37bae5ccd5a712bf09 100644 (file)
@@ -59,12 +59,6 @@ int dlopen_tpm2(int log_level) _dlopen_loader_;
  * other tokens. */
 #define ERRNO_IS_NEG_TPM2_TOKEN_MISMATCH(r) IN_SET(r, -EREMCHG, -ENOANO, -EPERM, -ENOSTR, -EREMOTE, -EADDRNOTAVAIL)
 
-#define DLOPEN_TPM2(log_level, priority)                                \
-        ({                                                              \
-                TPM2_NOTE(priority);                                    \
-                dlopen_tpm2(log_level);                                 \
-        })
-
 #if HAVE_TPM2
 #ifndef SYSTEMD_CFLAGS_MARKER_TPM2
 #  error "missing tpm2_cflags in meson dependency."
index 9584284a56040e63aee2633df3a4afb83d743c79..04efbfeb36d54c5eccfcdd4a3057948e40fa4416 100644 (file)
@@ -36,7 +36,7 @@ int swap_list_get(const char *swaps, SwapDevice **head) {
 
         assert(head);
 
-        r = DLOPEN_LIBMOUNT(LOG_ERR, recommended);
+        r = dlopen_libmount(LOG_ERR);
         if (r < 0)
                 return r;
 
index 17f526b7276312687e6cb0179208a77fc20b57c6..ebf011f7a784f19b1a5969763f9233b4dfbe27dd 100644 (file)
@@ -379,6 +379,7 @@ int main(int argc, char *argv[]) {
         size_t n_luo_fds = 0;
         int cmd, r;
 
+        LIBMOUNT_NOTE(recommended);
         LIBSELINUX_NOTE(recommended);
 
         /* LUO will preserve these across kexec */
index 0cb55a5361546ca4d917af3e94ea9ba3478353b7..986c0b51e9dd06291f73ad35347c0d8d45d205aa 100644 (file)
@@ -1914,7 +1914,7 @@ static int unmerge(const Context *c) {
 
         assert(c);
 
-        (void) DLOPEN_LIBMOUNT(LOG_DEBUG, required);
+        (void) dlopen_libmount(LOG_DEBUG);
 
         r = get_extension_release_metadata(c, &need_to_reload, &units_to_restart, &units_to_reload_or_restart);
         if (r < 0)
@@ -2492,9 +2492,9 @@ static int merge(const Context *c, Hashmap *images) {
 
         assert(c);
 
-        (void) DLOPEN_CRYPTSETUP(LOG_DEBUG, recommended);
-        (void) DLOPEN_LIBBLKID(LOG_DEBUG, required);
-        (void) DLOPEN_LIBMOUNT(LOG_DEBUG, required);
+        (void) dlopen_cryptsetup(LOG_DEBUG);
+        (void) dlopen_libblkid(LOG_DEBUG);
+        (void) dlopen_libmount(LOG_DEBUG);
 
         _cleanup_(pidref_done) PidRef pidref = PIDREF_NULL;
         r = pidref_safe_fork("(sd-merge)", FORK_DEATHSIG_SIGTERM|FORK_LOG|FORK_NEW_MOUNTNS, &pidref);
@@ -3271,7 +3271,10 @@ static int run(int argc, char *argv[]) {
         char **args = NULL;
         int r;
 
+        LIBBLKID_NOTE(required);
         LIBCRYPTO_NOTE(suggested);
+        LIBCRYPTSETUP_NOTE(recommended);
+        LIBMOUNT_NOTE(required);
         LIBSELINUX_NOTE(recommended);
 
         log_setup();
index 3fca5cc91ea48517a23eb9a5e975875dfcae8590..0b346da62d18daadf3598e5727baa67b05f555d6 100644 (file)
@@ -161,7 +161,7 @@ int find_suitable_partition(
         POINTER_MAY_BE_NULL(partition_type);
         assert(ret);
 
-        r = DLOPEN_FDISK(LOG_DEBUG, recommended);
+        r = dlopen_fdisk(LOG_DEBUG);
         if (r < 0)
                 return r;
 
@@ -230,7 +230,7 @@ int patch_partition(
         if (change == 0) /* Nothing to do */
                 return 0;
 
-        r = DLOPEN_FDISK(LOG_DEBUG, recommended);
+        r = dlopen_fdisk(LOG_DEBUG);
         if (r < 0)
                 return r;
 
index 08a3f9ef7cafe2cda629eff174bf5b60786855a2..cfc0d09ae688f194c1d3fa072db7e030e287833c 100644 (file)
@@ -266,7 +266,7 @@ static int resource_load_from_blockdev(Resource *rr) {
 
         assert(rr);
 
-        r = DLOPEN_FDISK(LOG_DEBUG, recommended);
+        r = dlopen_fdisk(LOG_DEBUG);
         if (r < 0)
                 return r;
 
index 28ea65c033889991c4b3729cca54756d36ee3bc6..edf2929235f03d3f79e824cf6df2799a2e4e2e93 100644 (file)
@@ -3568,6 +3568,7 @@ static int run(int argc, char *argv[]) {
         LIBBLKID_NOTE(recommended);
         LIBCRYPTO_NOTE(suggested);
         LIBCRYPTSETUP_NOTE(suggested);
+        LIBFDISK_NOTE(recommended);
         LIBMOUNT_NOTE(recommended);
         LIBSELINUX_NOTE(recommended);
         LIBTSS2_ESYS_NOTE(suggested);
index 582c6f8a4ef0c01568e8e40e291ea2a23956f0b7..82f6b8da2f2dc6d12defac89d94e99d35a4555a3 100644 (file)
@@ -1271,7 +1271,7 @@ static int parse_acl_cond_exec(
         assert(cond_exec);
         assert(ret);
 
-        r = DLOPEN_LIBACL(LOG_DEBUG, recommended);
+        r = dlopen_libacl(LOG_DEBUG);
         if (r < 0)
                 return r;
 
@@ -1390,7 +1390,7 @@ static int path_set_acl(
 
         assert(c);
 
-        r = DLOPEN_LIBACL(LOG_DEBUG, recommended);
+        r = dlopen_libacl(LOG_DEBUG);
         if (r < 0)
                 return r;
 
@@ -4854,6 +4854,7 @@ static int run(int argc, char *argv[]) {
         } phase;
         int r;
 
+        LIBACL_NOTE(recommended);
         LIBBLKID_NOTE(recommended);
         LIBCRYPTSETUP_NOTE(suggested);
         LIBCRYPTO_NOTE(suggested);
index d655ab46d39989ed44b6df99cbf0beb3a4bcedc5..3c6cd2aeee89a3ba703a8b2c339234b9b923d93a 100644 (file)
@@ -601,12 +601,14 @@ static int run(int argc, char *argv[]) {
         }
 
         LIBBLKID_NOTE(recommended);
+        LIBCRYPTO_NOTE(required);
+        TPM2_NOTE(required);
 
-        r = DLOPEN_LIBCRYPTO(LOG_ERR, required);
+        r = dlopen_libcrypto(LOG_ERR);
         if (r < 0)
                 return r;
 
-        r = DLOPEN_TPM2(LOG_ERR, required);
+        r = dlopen_tpm2(LOG_ERR);
         if (r < 0)
                 return r;
 
index f9f6890284144b757956204b757c514a8432285d..a799b5c428491ef3cb46156de69b173545371bcf 100644 (file)
@@ -520,7 +520,7 @@ static int builtin_blkid(UdevEvent *event, int argc, char *argv[]) {
         int64_t offset = 0;
         int r;
 
-        r = DLOPEN_LIBBLKID(LOG_DEBUG, required);
+        r = dlopen_libblkid(LOG_DEBUG);
         if (r < 0)
                 return log_device_debug_errno(dev, r, "blkid not available: %m");
 
index 62a3cdd64f09b3029c1990670d9fa871a11690c3..ebbbadcea04f4f2c0ffc853ddb6ea8c8eb5e1f8f 100644 (file)
@@ -102,7 +102,12 @@ static int run(int argc, char *argv[]) {
         char **args = NULL;
         int r;
 
+        LIBACL_NOTE(recommended);
+        LIBBLKID_NOTE(recommended);
+        LIBKMOD_NOTE(recommended);
+        LIBMOUNT_NOTE(recommended);
         LIBSELINUX_NOTE(recommended);
+        TPM2_NOTE(recommended);
 
         if (invoked_as(argv, "udevd"))
                 return run_udevd(argc, argv);
index b452a1e848a778d7497b0e46f69095ca5c99d965..593eee89b8bde0a56c09ad3b872b4fb0200dc307 100644 (file)
@@ -58,11 +58,11 @@ int run_udevd(int argc, char *argv[]) {
                 return log_error_errno(r, "Failed to create /run/udev: %m");
 
         /* Load some shared libraries before we fork any workers */
-        (void) DLOPEN_LIBACL(LOG_DEBUG, recommended);
-        (void) DLOPEN_LIBBLKID(LOG_DEBUG, recommended);
-        (void) DLOPEN_LIBKMOD(LOG_DEBUG, recommended);
-        (void) DLOPEN_LIBMOUNT(LOG_DEBUG, recommended);
-        (void) DLOPEN_TPM2(LOG_DEBUG, recommended);
+        (void) dlopen_libacl(LOG_DEBUG);
+        (void) dlopen_libblkid(LOG_DEBUG);
+        (void) dlopen_libkmod(LOG_DEBUG);
+        (void) dlopen_libmount(LOG_DEBUG);
+        (void) dlopen_tpm2(LOG_DEBUG);
 
         if (arg_daemonize) {
                 pid_t pid;
index 0f4780ada583979c6f6c74e2185544eedd0fc595..1ac025b74df57b88f987a7b981a8530c38ae6d2c 100644 (file)
@@ -8,6 +8,7 @@
 #include "build.h"
 #include "chase.h"
 #include "device-util.h"
+#include "dlopen-note.h"
 #include "errno-util.h"
 #include "fd-util.h"
 #include "format-table.h"
@@ -290,7 +291,7 @@ static int validate_gpt_metadata_one(sd_device *d, const char *path, const Valid
         assert(d);
         assert(f);
 
-        r = DLOPEN_LIBBLKID(LOG_ERR, required);
+        r = dlopen_libblkid(LOG_ERR);
         if (r < 0)
                 return r;
 
@@ -400,6 +401,8 @@ static int validate_fields_check(int fd, const char *path, const ValidateFields
 static int run(int argc, char *argv[]) {
         int r;
 
+        LIBBLKID_NOTE(required);
+
         log_setup();
 
         r = parse_argv(argc, argv);
index 56c199dbd7fe99fae47af3f4611b1bf86478e090..65f0c13c2e451efedd34d83f1bf501b26e9d5303 100644 (file)
@@ -495,8 +495,9 @@ static int run(int argc, char *argv[]) {
         log_setup();
 
         LIBCRYPTO_NOTE(suggested);
+        LIBCRYPTSETUP_NOTE(required);
 
-        r = DLOPEN_CRYPTSETUP(LOG_ERR, required);
+        r = dlopen_cryptsetup(LOG_ERR);
         if (r < 0)
                 return r;