From: Mike Yuan Date: Sat, 7 Feb 2026 20:22:56 +0000 (+0100) Subject: journal-send: check if $LOG_NAMESPACE denotes our /run/systemd/journal/ is already... X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8b7e98f1837bae4c565f93d36bd69c49b470628e;p=thirdparty%2Fsystemd.git journal-send: check if $LOG_NAMESPACE denotes our /run/systemd/journal/ is already namespaced properly --- diff --git a/src/libsystemd/sd-journal/journal-send.c b/src/libsystemd/sd-journal/journal-send.c index d1a8ebdfad0..5c7b007b131 100644 --- a/src/libsystemd/sd-journal/journal-send.c +++ b/src/libsystemd/sd-journal/journal-send.c @@ -387,6 +387,19 @@ _public_ int sd_journal_stream_fd_with_namespace( assert_return(priority >= 0, -EINVAL); assert_return(priority <= 7, -EINVAL); + if (name_space) { + /* If $LOG_NAMESPACE is set, we're already placed in a mountns with /run/systemd/journal/ + * being a bind mount for the journald namespace instance, in which case we shall go by + * the standard journal socket path. */ + const char *env = secure_getenv("LOG_NAMESPACE"); + if (env) { + if (!streq(name_space, env)) + return -EREMOTE; + + name_space = NULL; + } + } + path = journal_stream_path(name_space); if (!path) return -EINVAL;