LWN: Comments on "Systemd v239 released" https://lwn.net/Articles/758128/ This is a special feed containing comments posted to the individual LWN article titled "Systemd v239 released". en-us Sun, 19 Oct 2025 19:02:35 +0000 Sun, 19 Oct 2025 19:02:35 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net Systemd v239 released https://lwn.net/Articles/758874/ https://lwn.net/Articles/758874/ k8to <div class="FormattedComment"> Maybe enough for nginx. There are some programs which close and re-open their ports in some cases where the capability would be useful.<br> </div> Mon, 02 Jul 2018 20:11:04 +0000 Systemd v239 released https://lwn.net/Articles/758693/ https://lwn.net/Articles/758693/ Cyberax <div class="FormattedComment"> Have you actually checked it? The PID1 code is clearly segregated from other tools.<br> </div> Fri, 29 Jun 2018 18:30:19 +0000 Systemd v239 released https://lwn.net/Articles/758631/ https://lwn.net/Articles/758631/ kloczek <div class="FormattedComment"> Systemd has separated process which is storing logs in compressed logs.<br> systemd source code is so crappy that there is no proper separations between PID 1 process and other processes functionalities.<br> <p> </div> Fri, 29 Jun 2018 13:05:23 +0000 Systemd v239 released https://lwn.net/Articles/758497/ https://lwn.net/Articles/758497/ cortana <div class="FormattedComment"> You're quite right, thanks for ponting me in the right direction. I guess things would be a little cleaner if the sd-journal(3) functionality for reading the journal would be split into a separate library--that way libsystemd clients, most of whom would only ever want to write to the joural, wouldn't need those libraries being pulled in. But does this make any practical difference on a non-embedded system? I don't think so.<br> </div> Thu, 28 Jun 2018 09:20:45 +0000 Systemd v239 released https://lwn.net/Articles/758492/ https://lwn.net/Articles/758492/ smurf <div class="FormattedComment"> Ideally it would get these ports passed in from systemd, thus would not need any privileges at all.<br> </div> Thu, 28 Jun 2018 07:47:05 +0000 Systemd v239 released https://lwn.net/Articles/758382/ https://lwn.net/Articles/758382/ excors <div class="FormattedComment"> If I'm reading the build scripts correctly, libshared statically links libjournal_client, using "link_whole" so that all symbols (even unused ones) are included, because libshared intentionally wants to export the journal API (because it's commonly used functionality). The journal is what uses liblz4/liblzma.<br> </div> Wed, 27 Jun 2018 11:32:34 +0000 Systemd v239 released https://lwn.net/Articles/758381/ https://lwn.net/Articles/758381/ excors <div class="FormattedComment"> What's wrong with using multiple compression libraries? Different compression algorithms have different tradeoffs of performance vs compression ratio, so they are useful in different situations. And sometimes they're just needed for compatibility with files or protocols that made different algorithm choices.<br> <p> In systemd it looks like they compress the journal and coredumps with LZ4 if built with --enable-lz4, or fall back to XZ(/LZMA) if --enable-xz, or fall back to uncompressed. If both are enabled then both are supported for compatibility with reading old data files.<br> <p> When looking at indirect dependencies, it's not surprising that the authors of library A might choose to use library B that implements feature C, while the authors of D might choose E that implements the same C. Then F comes along and wants to use both A and D, and they end up with two libraries that both implement C. Unless you want to forbid either competition between libraries or code reuse, that situation will continue to occur.<br> </div> Wed, 27 Jun 2018 11:15:32 +0000 Systemd v239 released https://lwn.net/Articles/758379/ https://lwn.net/Articles/758379/ cortana <blockquote><p>All those libraries are in process address space.</blockquote> <p>Oh, no, how terrible. <blockquote><pre>USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 242272 8952 ? Ss Jun19 1:12 /lib/systemd/systemd --system --deserialize 16</pre></blockquote> <p>Anyway, I don't see anything in <tt>src/shared</tt> referring to any symbols from liblzma or liblz4, so perhaps they are pulled in at build time? These things can slip in unless you (and all your transitive dependencies) take care to link using <tt>--as-needed</tt>... Wed, 27 Jun 2018 10:54:41 +0000 Systemd v239 released https://lwn.net/Articles/758371/ https://lwn.net/Articles/758371/ kloczek <div class="FormattedComment"> Bollocks.<br> All those libraries are in process address space.<br> Does't matter that some of those libraries are used not straight by PID 1 but by libraries linked with systemd.<br> <p> $ objdump -x /usr/lib/systemd/systemd| grep NEEDED<br> NEEDED libsystemd-shared-239.so<br> NEEDED librt.so.1<br> NEEDED libseccomp.so.2<br> NEEDED libselinux.so.1<br> NEEDED libmount.so.1<br> NEEDED libpam.so.0<br> NEEDED libaudit.so.1<br> NEEDED libkmod.so.2<br> NEEDED libgcc_s.so.1<br> NEEDED libpthread.so.0<br> NEEDED libc.so.6<br> <p> $ objdump -x /usr/lib/systemd/libsystemd-shared-239.so| grep NEEDED<br> NEEDED librt.so.1<br> NEEDED libcap.so.2<br> NEEDED libacl.so.1<br> NEEDED libcryptsetup.so.12<br> NEEDED libgcrypt.so.20<br> NEEDED libip4tc.so.0<br> NEEDED libseccomp.so.2<br> NEEDED libselinux.so.1<br> NEEDED libidn2.so.0<br> NEEDED liblzma.so.5<br> NEEDED liblz4.so.1<br> NEEDED libblkid.so.1<br> NEEDED libmount.so.1<br> NEEDED libgcc_s.so.1<br> NEEDED libpthread.so.0<br> NEEDED libc.so.6<br> NEEDED ld-linux-x86-64.so.2<br> <p> As you see for example libsystemd-sharedstraight used more than one compression library.<br> <p> </div> Wed, 27 Jun 2018 08:28:43 +0000 Systemd v239 released https://lwn.net/Articles/758358/ https://lwn.net/Articles/758358/ josh <div class="FormattedComment"> Fun. Another approach (also using /tmp/chmod for the same reason):<br> <p> /tmp$ cp -a /bin/ls fixed-chmod<br> /tmp$ cat chmod &gt; fixed-chmod<br> /tmp$ ls -l fixed-chmod <br> -rwxr-xr-x 1 josh josh 60224 Jun 26 16:52 fixed-chmod<br> /tmp$ ./fixed-chmod +x chmod<br> </div> Tue, 26 Jun 2018 23:54:03 +0000 Systemd v239 released https://lwn.net/Articles/758355/ https://lwn.net/Articles/758355/ zlynx <div class="FormattedComment"> /lib64/ld-linux-x86-64.so.2 /tmp/chmod<br> <p> /tmp/chmod because I didn't want to actually chmod -x /bin/chmod. Heh.<br> </div> Tue, 26 Jun 2018 22:57:15 +0000 Systemd v239 released https://lwn.net/Articles/758344/ https://lwn.net/Articles/758344/ rahvin <div class="FormattedComment"> His point is once the government has the ability to hit you with the iron pipe to force your compliance your only privacy is how much work it is for them to hit you with the iron pipe. Or in other words....<br> <p> Your entire argument is based on the idea that you have privacy because it's too much bother to record everything and that if the companies force their hand they'll insist on that forced decoding so they can record everything. But you don't have privacy in the first case either, it's clear the government already has the power, just that you aren't interesting enough for them to use it, but other people are. That's not actually a protection on your privacy, hopefully you realize that. <br> <p> The root cert that can decode all traffic has significant issues and isn't the catch all you present it as. There are significant risks with such a system, if ever implemented, because you've put a single point of failure on the entire economy and privacy of the nation. That singe cert can spy on your entire nation, it's loss would be catastrophic and protecting it would be extremely difficult. <br> </div> Tue, 26 Jun 2018 20:20:16 +0000 Systemd v239 released https://lwn.net/Articles/758302/ https://lwn.net/Articles/758302/ judas_iscariote <div class="FormattedComment"> The way you are determining the libraries needed by PID1 is incorrect, you need to look at the ELF DT_NEEDED entries, otherwise your conclusions will be garbage. other libraries are not used by systemd but are indirect dependencies, in such case you may direct your badly thought out questions to the relevant project.<br> <p> readelf --dynamic /usr/lib/systemd/systemd | grep NEEDED<br> <p> <p> </div> Tue, 26 Jun 2018 14:00:16 +0000 Systemd v239 released https://lwn.net/Articles/758295/ https://lwn.net/Articles/758295/ kloczek <div class="FormattedComment"> The problems are:<br> 1) that this list to long<br> 2) there are several duplications functional duplicates<br> 3) mounting and unmounting is so unique operation that putting such operations straight into PID 1 is idiotic<br> <p> ad 2) For example in libc provides regular expression functions and for not so sophisticated regexps SELinux libraries choosed pcre.<br> Everything is linked with THREE compression libraries!!!<br> UTF operations are in libc and despite of this libunistring is used.<br> Why modules operations must be straight in PID 1? (libkmod)<br> Why init must be responsible for authentication? (libpam, libargon).<br> ACL and ext attrs?<br> JSON operations?<br> What is doing here network monitoring and network traffic dumping library? (libpcap)<br> What PID 1 is calculating so important that it must use FPU libm functions?<br> <p> </div> Tue, 26 Jun 2018 11:58:41 +0000 Systemd v239 released https://lwn.net/Articles/758293/ https://lwn.net/Articles/758293/ excors <div class="FormattedComment"> If their current implementation of censorship is so lacklustre and easily bypassed, that suggests either the government is incompetent, or under-resourced, or simply isn't aiming for comprehensive censorship. (I imagine you don't need to prevent 100% of people from hearing about some dangerous idea, if blocking 95% is sufficient to prevent that idea from snowballing and becoming a serious threat to the government. And trying to shut down the other 5% might cause significant economic harm by unintentionally blocking legitimate traffic, so they can't just implement a whitelist approach and block any traffic they don't understand.)<br> <p> When technology becomes more secure, those conditions will stay the same. If the government is incompetent or under-resourced then they won't be able to keep up, and the security will be successful. If they do have the competence and resources, they'll come up with the simplest solution that works 95% of the time and can still be trivially bypassed by the 5% - just use a non-default DNS-over-TLS server, or a non-default protocol (like legacy DNS-over-UDP), or a VPN, or develop new protocols that tunnel properly-encrypted data inside the decryptable-by-government traffic (DNS-over-TLS-over-DNS-over-TLS), or whatever, because software is endlessly flexible and will always be able to bypass blacklists. You wouldn't be any worse off than you are now.<br> <p> If you're in the 5%, you're only in danger if the government decides they want to change the conditions and oppress you more, and that's a political problem rather than a technological one.<br> </div> Tue, 26 Jun 2018 11:30:33 +0000 Systemd v239 released https://lwn.net/Articles/758290/ https://lwn.net/Articles/758290/ ibukanov <div class="FormattedComment"> In quite a few cases an executable with setcap can be replaced by ambient capabilities. For example, on my system nginx runs as a user with no capabilities set on the executable yet it can listen on 80/443 ports due to ambient CAP_NET_BIND_SERVICE granted to it by systemd. This way an arbitrary instance of nginx cannot listen to privileged ports.<br> <p> </div> Tue, 26 Jun 2018 09:36:57 +0000 Systemd v239 released https://lwn.net/Articles/758288/ https://lwn.net/Articles/758288/ lkundrak <div class="FormattedComment"> Ah, in that case the whole library is versioned and you could just copy it next to the old one?<br> </div> Tue, 26 Jun 2018 07:35:20 +0000 Systemd v239 released https://lwn.net/Articles/758261/ https://lwn.net/Articles/758261/ kloczek <div class="FormattedComment"> # awk '/\/usr/ {print $6}' /proc/1/smaps | sort | uniq<br> /usr/lib64/gconv/gconv-modules.cache<br> /usr/lib64/ld-2.27.9000.so<br> /usr/lib64/libacl.so.1.1.0<br> /usr/lib64/libargon2.so.0<br> /usr/lib64/libattr.so.1.1.0<br> /usr/lib64/libaudit.so.1.0.0<br> /usr/lib64/libblkid.so.1.1.0<br> /usr/lib64/libc-2.27.9000.so<br> /usr/lib64/libcap-ng.so.0.0.0<br> /usr/lib64/libcap.so.2.25<br> /usr/lib64/libcryptsetup.so.12.3.0<br> /usr/lib64/libdevmapper.so.1.02<br> /usr/lib64/libdl-2.27.9000.so<br> /usr/lib64/libgcc_s-8-20180502.so.1<br> /usr/lib64/libgcrypt.so.20.2.3<br> /usr/lib64/libgpg-error.so.0.24.2<br> /usr/lib64/libidn2.so.0.3.4<br> /usr/lib64/libip4tc.so.0.1.0<br> /usr/lib64/libjson-c.so.4.0.0<br> /usr/lib64/libkmod.so.2.3.3<br> /usr/lib64/liblz4.so.1.8.2<br> /usr/lib64/liblzma.so.5.2.4<br> /usr/lib64/libm-2.27.9000.so<br> /usr/lib64/libmount.so.1.1.0<br> /usr/lib64/libpam.so.0.84.2<br> /usr/lib64/libpcap.so.1.8.1<br> /usr/lib64/libpcre2-8.so.0.7.0<br> /usr/lib64/libpthread-2.27.9000.so<br> /usr/lib64/librt-2.27.9000.so<br> /usr/lib64/libseccomp.so.2.3.3<br> /usr/lib64/libselinux.so.1<br> /usr/lib64/libsepol.so.1<br> /usr/lib64/libudev.so.1.6.11<br> /usr/lib64/libunistring.so.2.1.0<br> /usr/lib64/libuuid.so.1.3.0<br> /usr/lib64/libz.so.1.2.11<br> /usr/lib/locale/locale-archive<br> /usr/lib/systemd/libsystemd-shared-239.so<br> /usr/lib/systemd/systemd<br> <p> </div> Mon, 25 Jun 2018 22:44:15 +0000 Systemd v239 released https://lwn.net/Articles/758259/ https://lwn.net/Articles/758259/ comio <div class="FormattedComment"> Very clear, thanks.<br> <p> Ciao<br> </div> Mon, 25 Jun 2018 20:39:12 +0000 Systemd v239 released https://lwn.net/Articles/758248/ https://lwn.net/Articles/758248/ ibukanov <div class="FormattedComment"> This is not necessary so. It is costly to decrypt all the traffic. So if a government can get what it needs just from meta-information, it will not bother with the information itself, so the current status-quo of open meta and encrypted content may continue for quite some time. Encrypting meta may trigger drastic backlash. <br> </div> Mon, 25 Jun 2018 19:28:34 +0000 Systemd v239 released https://lwn.net/Articles/758244/ https://lwn.net/Articles/758244/ ebiederm <div class="FormattedComment"> Note this also affects setcap executables as well. So one of the recent trends to get away from setuid executables by replacing them with setcap executables instead will also stop functioning.<br> <p> </div> Mon, 25 Jun 2018 19:04:47 +0000 Systemd v239 released https://lwn.net/Articles/758242/ https://lwn.net/Articles/758242/ josh Here's a sample: <pre> $ cat nnp.c #include &lt;err.h&gt; #include &lt;sys/prctl.h&gt; #include &lt;unistd.h&gt; int main(int argc, char *argv[]) { if (argc &lt; 2) errx(1, "Usage: nnp prog [args]"); if (prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0) &lt; 0) err(1, "prctl"); execvp(argv[1], argv+1); err(1, "execvp"); } $ gcc nnp.c -o nnp $ cp -a /usr/bin/id id $ sudo chown root:root id $ sudo chmod u+s id $ ./id -un root $ ./nnp ./id -un josh $ ./nnp bash $ ./id -un josh $ sudo id sudo: effective uid is not 0, is /usr/bin/sudo on a file system with the 'nosuid' option set or an NFS file system without root privileges? </pre> Mon, 25 Jun 2018 18:53:32 +0000 Systemd v239 released https://lwn.net/Articles/758241/ https://lwn.net/Articles/758241/ rgmoore <blockquote>So the current push by Goggle and Facebook to encrypt all meta-information may be helpful to improve privacy in the short term at the cost of total lack of privacy in the longer term.</blockquote> <p>If the government has the power to force everyone to use the drastic measures you discuss, any measure of privacy was going to go away soon anyway. Mon, 25 Jun 2018 18:49:41 +0000 Systemd v239 released https://lwn.net/Articles/758240/ https://lwn.net/Articles/758240/ josh <div class="FormattedComment"> Quoting "man prctl":<br> <p> PR_SET_NO_NEW_PRIVS (since Linux 3.5)<br> <p> Set the calling thread's no_new_privs bit to the value in arg2. With no_new_privs set to 1, execve(2) promises not to grant privileges to do anything that could not have been done without the execve(2) call (for example, rendering the set-user-ID and set-group-ID mode bits, and file capabilities non-functional). Once set, this bit cannot be unset. The setting of this bit is inherited by children created by fork(2) and clone(2), and preserved across execve(2).<br> <p> </div> Mon, 25 Jun 2018 18:42:45 +0000 Systemd v239 released https://lwn.net/Articles/758234/ https://lwn.net/Articles/758234/ ibukanov <div class="FormattedComment"> Consider the current situation in Russia. The censorship block there is implemented either via IP addresses or via DNS. Since most sites are banned only by DNS resolvers at local ISPs a trivial way to circumvent that at least until recently was to use DNS resolvers outside of Russia. Yet the government has not bothered to close even this trivial hole as the block worked against the majority of population and it was enough for the government.<br> <p> The moment the blocking will need to decrypt TLS sessions for most people, they will consider more drastic measures like requiring to filter based on SNI header or, when that will be encrypted according to various proposals, by requiring to install government certificates on all devices.<br> <p> So the current push by Goggle and Facebook to encrypt all meta-information may be helpful to improve privacy in the short term at the cost of total lack of privacy in the longer term.<br> </div> Mon, 25 Jun 2018 18:11:57 +0000 Systemd v239 released https://lwn.net/Articles/758226/ https://lwn.net/Articles/758226/ excors <div class="FormattedComment"> Why is DNS-over-TLS relevant in that situation? It seems like ISPs and authoritarian governments could do (and do) exactly the same things with traditional DNS, but much more easily.<br> </div> Mon, 25 Jun 2018 16:37:50 +0000 Systemd v239 released https://lwn.net/Articles/758224/ https://lwn.net/Articles/758224/ ibukanov <div class="FormattedComment"> I am not talking about ISP doing that without user consent. Rather they can explicitly offer a discount if a user opts in. This will be like a post-office offering a discount if the receiver is OK with letters stuffed with adds.<br> </div> Mon, 25 Jun 2018 16:30:02 +0000 Systemd v239 released https://lwn.net/Articles/758223/ https://lwn.net/Articles/758223/ dbe <div class="FormattedComment"> So about the no-new-privileges... how does that work? When a setuid binary is execd it’s immediately in its new UID... right? Maybe that’s not the case?<br> </div> Mon, 25 Jun 2018 16:24:48 +0000 Systemd v239 released https://lwn.net/Articles/758214/ https://lwn.net/Articles/758214/ admalledd <div class="FormattedComment"> I await for it to be added to the "dirty tricks professors use on trick question tests" such as the combo:<br> <p> chmod -x /bin/chmod<br> chattr +i /bin/chmod<br> </div> Mon, 25 Jun 2018 15:28:06 +0000 Systemd v239 released https://lwn.net/Articles/758169/ https://lwn.net/Articles/758169/ Wol <div class="FormattedComment"> <font class="QuotedText">&gt; And even with not so authoritarian countries ISP may offer discounts if a user install such certificates so ISP can inject ads into any TLS traffic. </font><br> <p> Until somebody signs up for this and a safety-critical system falls over ... THIS REALLY HAPPENED!<br> <p> Ages ago (sorry can't remember details :-) some router manufacturer thought it would be a good idea to stick ads in http traffic passing through. Until someone installed one of these routers in an environment that ran "control traffic over http". Obviously, the system started misbehaving and it came out that this is what was happening. The router was very rapidly patched to remove this behaviour.<br> <p> The post office is not allowed to interfere with mail (unless they believe the law is being broken). ISPs should not interfere with traffic going over their network! Either they are common carriers, with no liability other than passing traffic through, or they take editorial control AND LIABILITY, which means they have to pay for their cock-ups!<br> <p> Cheers,<br> Wol<br> </div> Mon, 25 Jun 2018 15:07:37 +0000 Systemd v239 released https://lwn.net/Articles/758152/ https://lwn.net/Articles/758152/ ibukanov <div class="FormattedComment"> It depends on a longer-term effects. With authoritarian governments it may push to require that all devices has government-issues certificates that can fake any domain. And even with not so authoritarian countries ISP may offer discounts if a user install such certificates so ISP can inject ads into any TLS traffic. <br> </div> Mon, 25 Jun 2018 13:50:29 +0000 Systemd v239 released https://lwn.net/Articles/758148/ https://lwn.net/Articles/758148/ mbiebl <div class="FormattedComment"> I think you meant libsystemd-shared, not libsystemd.<br> systemd-networkd does not link against libsystemd.<br> <p> $ objdump -x /lib/systemd/systemd-networkd | grep NEEDED<br> NEEDED libc.so.6<br> NEEDED libsystemd-shared-239.so<br> NEEDED librt.so.1<br> NEEDED libcap.so.2<br> NEEDED libip4tc.so.0<br> NEEDED libselinux.so.1<br> NEEDED libidn.so.11<br> NEEDED libmount.so.1<br> NEEDED libpthread.so.0<br> NEEDED ld-linux-x86-64.so<br> </div> Mon, 25 Jun 2018 13:16:37 +0000 Systemd v239 released https://lwn.net/Articles/758135/ https://lwn.net/Articles/758135/ lkundrak <div class="FormattedComment"> The symbols seem versioned. Presumably you could just drop in the new libsystemd along with the new resolved?<br> </div> Mon, 25 Jun 2018 05:50:57 +0000 Systemd v239 released https://lwn.net/Articles/758134/ https://lwn.net/Articles/758134/ Cyberax <div class="FormattedComment"> Can you compile it statically?<br> </div> Mon, 25 Jun 2018 04:04:56 +0000 Systemd v239 released https://lwn.net/Articles/758132/ https://lwn.net/Articles/758132/ scientes <div class="FormattedComment"> I wish it was possible to turn off the libsystemd-shared. That would make it easy to drop in systemd-resolvd 239 on a older systemd system.<br> </div> Mon, 25 Jun 2018 02:44:13 +0000 Systemd v239 released https://lwn.net/Articles/758131/ https://lwn.net/Articles/758131/ scientes <div class="FormattedComment"> I am most excited to see DNS-over-TLS. This helps alot with privacy.<br> </div> Mon, 25 Jun 2018 02:42:37 +0000 Systemd v239 released https://lwn.net/Articles/758129/ https://lwn.net/Articles/758129/ josh <div class="FormattedComment"> I've been looking forward to the idea of system-wide NO_NEW_PRIVS for a long time. I look forward to seeing the corresponding changes in other parts of the ecosystem to make that possible.<br> </div> Mon, 25 Jun 2018 01:43:54 +0000