From bd4beaa2ebfbbec0a1263a7091a91e528ce8cf13 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 1 Oct 2024 16:44:18 +0200 Subject: tree-wide: always do dlopen() with RTLD_NOW + RTLD_NODELETE Let's systematically use RTL_NOW|RLTD_NODELETE as flags passed to dlopen(), across our codebase. Various distros build with "-z now" anyway, hence it's weird to specify RTLD_LAZY trying to override that (which it doesn't). Hence, let's follow suit, and just do what everybody else does. Also set RTLD_NODELETE, which is apparently what distros will probably end up implying sooner or later anyway. Given that for pretty much all our dlopen() calls we never call dlclose() anyway, let's just set this everywhere too, to make things systematic. This way, the flags we use by default match what distros such as fedora do, there are no surprises, and read-only relocations can be a thing. Fixes: #34537 --- src/test/test-nss-users.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/test/test-nss-users.c') diff --git a/src/test/test-nss-users.c b/src/test/test-nss-users.c index 5178779d54..cba0f823b9 100644 --- a/src/test/test-nss-users.c +++ b/src/test/test-nss-users.c @@ -166,7 +166,7 @@ static int test_one_module(const char *dir, log_info("======== %s ========", module); - _cleanup_(dlclosep) void *handle = nss_open_handle(dir, module, RTLD_LAZY|RTLD_NODELETE); + _cleanup_(dlclosep) void *handle = nss_open_handle(dir, module, RTLD_NOW|RTLD_NODELETE); if (!handle) return -EINVAL; -- cgit v1.2.3