process-util: add a flag for retaining dlopen()-ability
While blocking dlopen() in child generally makes sense, it does also lead to misery - in the very case of extension/cred refreshing it then enforces loading of libcryptsetup/libacl in pid1, which are otherwise never used. Let's add a flag to opt out hence, but still prohibit it in namespace_fork/enter().
This commit is contained in:
@@ -187,8 +187,9 @@ typedef enum ForkFlags {
|
||||
FORK_NEW_NETNS = 1 << 20, /* Run child in its own network namespace 💣 DO NOT USE IN THREADED PROGRAMS! 💣 */
|
||||
FORK_NEW_PIDNS = 1 << 21, /* Run child in its own PID namespace 💣 DO NOT USE IN THREADED PROGRAMS! 💣 */
|
||||
FORK_FREEZE = 1 << 22, /* Don't return in child, just call freeze() instead */
|
||||
FORK_ALLOW_DLOPEN = 1 << 23, /* Do not block dlopen() in child */
|
||||
|
||||
_FORK_PID_ONLY = 1 << 23, /* Don't open a pidfd referencing the child process */
|
||||
_FORK_PID_ONLY = 1 << 24, /* Don't open a pidfd referencing the child process */
|
||||
} ForkFlags;
|
||||
|
||||
int pidref_safe_fork_full(
|
||||
|
||||
Reference in New Issue
Block a user