LWN: Comments on "Systemd catches up with bind events" https://lwn.net/Articles/837033/ This is a special feed containing comments posted to the individual LWN article titled "Systemd catches up with bind events". en-us Mon, 03 Nov 2025 20:02:26 +0000 Mon, 03 Nov 2025 20:02:26 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net udev in the wrong basket? https://lwn.net/Articles/838944/ https://lwn.net/Articles/838944/ oldtomas <div class="FormattedComment"> Watching this I get the impression that udev should be part of the kernel project.<br> </div> Fri, 04 Dec 2020 13:43:16 +0000 Systemd catches up with bind events https://lwn.net/Articles/838798/ https://lwn.net/Articles/838798/ joey <div class="FormattedComment"> The horribleness of the udev rule file format surely has a lot to do with this. I mean, this is a config file that uses goto for control flow! Take a udev rules file and imagine it implemented in your programming language of choice, and consider how this problem might have been avoided or at least made much more tractable to fix across the code base.<br> </div> Wed, 02 Dec 2020 16:29:30 +0000 Systemd catches up with bind events - works for me https://lwn.net/Articles/838482/ https://lwn.net/Articles/838482/ Wol <div class="FormattedComment"> How you say things can be so important ...<br> <p> &quot;Can&#x27;t reproduce&quot; implies you have tried to replicate the error, you&#x27;ve put in a bit of effort to help the person with the problem.<br> <p> &quot;Works for me&quot;, on the other hand, *could* mean the same thing. It could also mean &quot;I don&#x27;t suffer that problem, so I can&#x27;t be bothered to look for it&quot;.<br> <p> And then there&#x27;s the language problem. I&#x27;m probably known for being a bit prickly about language and how, even when you may think you&#x27;re speaking the &quot;same&quot; language, the identical word may mean different things based on the speaker&#x27;s background.<br> <p> Cheers,<br> Wol<br> </div> Sat, 28 Nov 2020 19:29:38 +0000 Systemd catches up with bind events - works for me https://lwn.net/Articles/838479/ https://lwn.net/Articles/838479/ jezuch <div class="FormattedComment"> I guess there&#x27;s a subtle difference between &quot;works for me&quot; and &quot;can&#x27;t reproduce&quot;. I, as the bug report responder, would never say the former as it souds kind of dismissive. Like in, &quot;i reproduced your exact environment and it works for me&quot;. The latter admits that you&#x27;re probably missing some context that makes the reproduction impossible.<br> <p> But other people will feel differently about this.<br> </div> Sat, 28 Nov 2020 09:21:12 +0000 Systemd catches up with bind events https://lwn.net/Articles/838284/ https://lwn.net/Articles/838284/ AdamW <div class="FormattedComment"> I&#x27;m not sure that *is* what was meant, to be honest - I&#x27;m not convinced the &quot;fix&quot; really is a fix.<br> <p> What the condition is &quot;trying to mean&quot; is basically: &quot;skip this whole script if we&#x27;re not in some sort of scenario where a device mapper device has appeared or changed&quot;. &quot;dm_end&quot; is literally the end of the file: `GOTO=&quot;dm_end&quot;` means &quot;just don&#x27;t do anything else at all&quot;.<br> <p> This is how the comments look on my version of the file:<br> <p> # Device created, major and minor number assigned - &quot;add&quot; event generated.<br> # Table loaded - no event generated.<br> # Device resumed (or renamed) - &quot;change&quot; event generated.<br> # Device removed - &quot;remove&quot; event generated.<br> #<br> # The dm-X nodes are always created, even on &quot;add&quot; event, we can&#x27;t suppress<br> # that (the node is created even earlier with devtmpfs). All the symlinks<br> # (e.g. /dev/mapper) are created in right time after a device has its table<br> # loaded and is properly resumed. For this reason, direct use of dm-X nodes<br> # is not recommended.<br> ACTION!=&quot;add|change&quot;, GOTO=&quot;dm_end&quot;<br> <p> this makes it pretty clear that what we&#x27;re really trying to do here is &quot;do stuff if a device is being added or changed, don&#x27;t do anything if it isn&#x27;t&quot;. So I don&#x27;t think changing the condition to `ACTION==&quot;remove&quot;` is necessarily a correct fix at all. After all, one thing that means is that we&#x27;ll go ahead with the script if the action is &quot;unbind&quot;, the counterpart to &quot;bind&quot;. Is that what we want? Are we sure it isn&#x27;t going to do anything wrong? I&#x27;m pretty sure the script doesn&#x27;t expect it, though hopefully it&#x27;ll wind up bailing on a later check and not do anything disruptive...<br> </div> Wed, 25 Nov 2020 09:12:52 +0000 Systemd catches up with bind events https://lwn.net/Articles/838184/ https://lwn.net/Articles/838184/ gswoods <div class="FormattedComment"> As one who had a 35 year career as a system administrator but who knows only a little about kernel and systemd internals, all of this looks a lot like US politics, where the Republicrats and Demopublicans are more interested in blaming the other side for all our problems than they are in solving them. <br> </div> Mon, 23 Nov 2020 21:11:48 +0000 Systemd catches up with bind events https://lwn.net/Articles/838087/ https://lwn.net/Articles/838087/ anselm <blockquote><em>Most of the interesting people seem to be using BSD these days.</em></blockquote> <p> It used to be that using Linux was the way to stand out from the crowd, to be nerdy and interesting and metaphorically show the finger to those stodgy Windows and Mac users. </p> <p> Now Linux has been mainstream for a while and is no longer good for nerd cred. People's elderly relations can (and do) use it. This means that the people who were using Linux 20+ years ago, when it meant not being able to do certain things (that when pointed out, one would adamantly insist weren't worth doing, anyway), spending three days to get a new video card/monitor working, etc., are being forced into BSD if they still want to impress their peers. But that's not because of BSD's versatility, wide compatibility with popular hardware and peripherals, and technical excellence – it's because few other people <em>want</em> to use it. It's the IT equivalent of an Indian fakir's bed of nails; very comfortable and just the thing if you're a fakir, but an item of morbid fascination for others. </p> Mon, 23 Nov 2020 16:18:15 +0000 Systemd catches up with bind events https://lwn.net/Articles/838078/ https://lwn.net/Articles/838078/ flussence <div class="FormattedComment"> <font class="QuotedText">&gt; Please remember why we do this stuff.</font><br> <p> It&#x27;s hard to tell corporate types to remember FOSS had a human element when they came from outside that culture entirely, their salary depends on gentrifying it out of existence, and in their off-time their hobby is talking over everyone to proclaim “Well Actually everyone uses our software because our software is great because everyone uses it”.<br> <p> Most of the interesting people seem to be using BSD these days.<br> </div> Mon, 23 Nov 2020 13:29:58 +0000 Systemd catches up with bind events - works for me https://lwn.net/Articles/838027/ https://lwn.net/Articles/838027/ giraffedata This thread is either about someone's serious misinterpretation of the "works for me" response as, "this is your problem; go away" or a misnaming of that actual response. <p> "Works for me" is a request for more information or diagnostic work. <p> But I've also been the recipient of the response, "What you're doing is too unusual for me to care about. Do what I do, and it will work." Many times. I'm creative. I suppose someone might characterize that as "works for me." Sat, 21 Nov 2020 19:14:11 +0000 Systemd catches up with bind events https://lwn.net/Articles/838012/ https://lwn.net/Articles/838012/ rahulsundaram <div class="FormattedComment"> <font class="QuotedText">&gt; Only for the desktop distro&#x27;s. It&#x27;s too heavyweight for the smaller ones like Apline, OpenWRT or Android, containers like Docker don&#x27;t use an init system at all.</font><br> <p> The vast majority of Linux distros including RHEL, SLES, Debian etc (not just the desktop ones) use systemd by default. Docker containers are not comparable to distros but some of them do run a init system and it is popular enough that several distros include a systemd-container package specifically for this purpose and systemd is not limited to a init system, so other parts gets routinely used in containers as well.<br> </div> Sat, 21 Nov 2020 12:32:11 +0000 Systemd catches up with bind events https://lwn.net/Articles/838002/ https://lwn.net/Articles/838002/ ras <div class="FormattedComment"> <font class="QuotedText">&gt; systemd has become the de-facto Linux init system or PID1 or whatever the hell you want to call it.</font><br> <p> Only for the desktop distro&#x27;s. It&#x27;s too heavyweight for the smaller ones like Apline, OpenWRT or Android, containers like Docker don&#x27;t use an init system at all. And that could well cover the bulk of deployed Linux instances.<br> </div> Sat, 21 Nov 2020 06:59:04 +0000 Systemd catches up with bind events https://lwn.net/Articles/837991/ https://lwn.net/Articles/837991/ pebolle <div class="FormattedComment"> <font class="QuotedText">&gt; With respect to Poe&#x27;s original comment and the way that Wikipedia explains Poe&#x27;s Law, you were already looking to parody my comment, a rhetorical tactic to dismiss as ridiculous something you can&#x27;t dismiss as untrue.</font><br> <p> You might never read this but I only quoted your hyperbole verbatim. How is that parody?<br> </div> Fri, 20 Nov 2020 23:09:02 +0000 Systemd catches up with bind events https://lwn.net/Articles/837971/ https://lwn.net/Articles/837971/ mathstuf <div class="FormattedComment"> The key is to coax out the difference in the setup from the reporter. I find it hard to get relevant details from reporters sometimes. I know what I&#x27;m looking for, but reporters will sometimes trim output to what they think is important, missing the actual details that are relevant to diagnosing the problem. Screenshots instead of copy/pasted text are also a thing.<br> <p> It&#x27;s about communication. I certainly have more to learn on this front, but part of it is realizing the differences in knowledge and expectations on either side of the wire.<br> </div> Fri, 20 Nov 2020 20:08:49 +0000 Systemd catches up with bind events https://lwn.net/Articles/837929/ https://lwn.net/Articles/837929/ rahulsundaram <div class="FormattedComment"> <font class="QuotedText">&gt; It wasn&#x27;t *exactly* what was said but it was the spirit of what was said.</font><br> <p> I don&#x27;t agree but even assuming that, works for me is a fine thing to say if you don&#x27;t stop at that point. There was a query for more information. It&#x27;s up to the reporter to pursue that further<br> </div> Fri, 20 Nov 2020 15:45:36 +0000 Systemd catches up with bind events https://lwn.net/Articles/837918/ https://lwn.net/Articles/837918/ k3ninho <div class="FormattedComment"> I&#x27;ve blocked your comments. I considered the consequences of my words in this forum and audience and I think what I said was a cogent, reasonable and meaningful contribution. With respect to Poe&#x27;s original comment and the way that Wikipedia explains Poe&#x27;s Law, you were already looking to parody my comment, a rhetorical tactic to dismiss as ridiculous something you can&#x27;t dismiss as untrue.<br> <p> Beyond that, I don&#x27;t have to care how you respond.<br> <p> K3n.<br> </div> Fri, 20 Nov 2020 15:45:05 +0000 Systemd catches up with bind events https://lwn.net/Articles/837925/ https://lwn.net/Articles/837925/ k3ninho <div class="FormattedComment"> <font class="QuotedText">&gt;&gt; Just saying &quot;works for me&quot; is being a horrible maintainer.</font><br> <p> <font class="QuotedText">&gt;That wasn&#x27;t what was said however.</font><br> <p> It wasn&#x27;t *exactly* what was said but it was the spirit of what was said.<br> <p> K3n.<br> </div> Fri, 20 Nov 2020 15:16:52 +0000 Systemd catches up with bind events https://lwn.net/Articles/837840/ https://lwn.net/Articles/837840/ nix <div class="FormattedComment"> It updates in bursts. Frankly I&#x27;m fairly happy this sort of breaks-boot-if-it-goes-wrong stuff is mature enough that it doesn&#x27;t *need* constant updates...<br> </div> Thu, 19 Nov 2020 23:40:36 +0000 Systemd catches up with bind events https://lwn.net/Articles/837770/ https://lwn.net/Articles/837770/ kpfleming <div class="FormattedComment"> So much this. A kernel config option which causes random, undocumented, events to appear, both for existing devices and for &#x27;nonsense&#x27; devices. Correctly formatted messages (e.g. not fuzzing), but with types that are never used for real devices.<br> <p> Chaos engineering can be quite useful.<br> </div> Thu, 19 Nov 2020 14:49:19 +0000 Systemd catches up with bind events https://lwn.net/Articles/837637/ https://lwn.net/Articles/837637/ pebolle <div class="FormattedComment"> <font class="QuotedText">&gt; Life&#x27;s going to miserable for everyone if we presume bad faith.</font><br> <p> The point here is that the statement I quoted is entirely over the top but it&#x27;s still impossible to be sure whether it was made sincerely or not.<br> <p> Look: developers that say &#x27;works for me&#x27; are simply stating a mundane fact. If things didn&#x27;t work for them they could start working on a fix. (If they have the time and the motivation to do that, of course.) But as long as it&#x27;s unclear what triggers the bug that&#x27;s been reported to them they are about as clueless as any random person using their software. I&#x27;d guess that all of this should be obvious to the kind of people reading lwn.net.<br> <p> So if I read a comment containing little treasures like &quot;a further issue at the level of our civilisation and society&quot; and &quot;[something] gives people with power [...] a habit of denying the lived experience of users and the struggles that users have with our software&quot; and &quot;life-long denial of the lived experience and struggle of other human people&quot; (human people!) then, yes, Poe&#x27;s law kicks in one again.<br> </div> Wed, 18 Nov 2020 19:32:32 +0000 Systemd catches up with bind events https://lwn.net/Articles/837610/ https://lwn.net/Articles/837610/ cladisch <div class="FormattedComment"> When you want to apply the same filter to multiple rules, the simplest way to write this is the equivalent of &quot;if ACTION != remove goto past_the_rules&quot;. Writing the filter non-inverted would require another goto to jump over the second goto.<br> </div> Wed, 18 Nov 2020 15:45:59 +0000 Systemd catches up with bind events https://lwn.net/Articles/837584/ https://lwn.net/Articles/837584/ k3ninho <div class="FormattedComment"> <font class="QuotedText">&gt;&gt;&gt; There&#x27;s a further issue at the level of our civilisation and society where &#x27;works for me&#x27; gives people with power -- to fix bugs raised by users -- a habit of denying the lived experience of users and the struggles that users have with our software, which can become a life-long denial of the lived experience and struggle of other human people.</font><br> <p> <font class="QuotedText">&gt;Poe&#x27;s law works both ways: one is never sure whether someone is sarcastic or sincere on the internet.</font><br> <p> You have to live your life, I can&#x27;t make this statement a positive for you if you&#x27;ve taken it on bad faith. Plus, I hope that you can overcome whatever made it difficult to trust words from a random internet person. Maybe the world also needs to change to allow you this.<br> <p> Life&#x27;s going to miserable for everyone if we presume bad faith.<br> <p> K3n.<br> </div> Wed, 18 Nov 2020 14:37:37 +0000 Systemd catches up with bind events https://lwn.net/Articles/837582/ https://lwn.net/Articles/837582/ Cyberax <div class="FormattedComment"> Be VERY evil and send nonsensical events with random names?<br> <p> This is actually a thing in TLS. At least several TLS implementations send deliberately non-existing cipher suite names during negotiation to make sure that middleboxes don&#x27;t encode stuff like &quot;use the first cipher&quot;.<br> </div> Wed, 18 Nov 2020 09:30:55 +0000 Systemd catches up with bind events https://lwn.net/Articles/837581/ https://lwn.net/Articles/837581/ zurdo <div class="FormattedComment"> I suspect I&#x27;m grossly misunderstanding something, or missing an elementary computing class here.<br> <p> Given n possibilities, wouldn&#x27;t the correct expression have looked more like `ACTION==remove` in the first place? If that&#x27;s what it meant back when that was written, surely it was an option to specify the ACTION you want to run on instead of every ACTION you don&#x27;t want to act on?<br> </div> Wed, 18 Nov 2020 08:52:02 +0000 Systemd catches up with bind events https://lwn.net/Articles/837558/ https://lwn.net/Articles/837558/ zuki <div class="FormattedComment"> It&#x27;s very hard to figure out which rules would need this legacy mode... I looked at various rules installed in Fedora when working on this and for many I couldn&#x27;t say what the effect of the change will be.<br> <p> If a file mentions BIND events, than it&#x27;s pretty clear that it has been adapted for the new events. But for other files, it&#x27;s hard to say anything without knowing if the kernel drivers for that type of hardware ever emit BIND|UNBIND events. If they don&#x27;t, a rule that only seems to care about ADD|CHANGE|REMOVE and hasn&#x27;t been modified in 10 years might still be fully adequate. In other cases the driver might emit BIND|UNBIND events, but the rule just doesn&#x27;t need to do anything for them, and translating BIND to ADD would actively break things.<br> <p> Overall, I don&#x27;t think a mode like this would be extremely brittle.<br> </div> Tue, 17 Nov 2020 20:43:30 +0000 Systemd catches up with bind events https://lwn.net/Articles/837449/ https://lwn.net/Articles/837449/ pebolle <div class="FormattedComment"> <font class="QuotedText">&gt; There&#x27;s a further issue at the level of our civilisation and society where &#x27;works for me&#x27; gives people with power -- to fix bugs raised by users -- a habit of denying the lived experience of users and the struggles that users have with our software, which can become a life-long denial of the lived experience and struggle of other human people. </font><br> <p> Poe&#x27;s law works both ways: one is never sure whether someone is sarcastic or sincere on the internet.<br> </div> Mon, 16 Nov 2020 21:14:09 +0000 Systemd catches up with bind events https://lwn.net/Articles/837439/ https://lwn.net/Articles/837439/ mbiebl <div class="FormattedComment"> In case this wasn&#x27;t meant sarcasticly:<br> <p> <a href="https://github.com/gentoo/eudev/commits/master">https://github.com/gentoo/eudev/commits/master</a> looks like this project is pretty much dormant.<br> I see no signs that eudev intends to address this issue.<br> </div> Mon, 16 Nov 2020 18:33:19 +0000 Systemd catches up with bind events https://lwn.net/Articles/837437/ https://lwn.net/Articles/837437/ rahulsundaram <div class="FormattedComment"> <font class="QuotedText">&gt; Just saying &quot;works for me&quot; is being a horrible maintainer.</font><br> <p> That wasn&#x27;t what was said however. There was a question back on what makes the hardware different which seems to have gone unanswered. Given the wide variations in hardware, this is a reasonable question.<br> </div> Mon, 16 Nov 2020 18:30:54 +0000 Systemd catches up with bind events https://lwn.net/Articles/837436/ https://lwn.net/Articles/837436/ jezuch <div class="FormattedComment"> You create a unit/regression test which mocks hardware to behave the way described by the bug reporter? Consult the spec to confirm that this is a valid use case? Just saying &quot;works for me&quot; is being a horrible maintainer.<br> </div> Mon, 16 Nov 2020 17:59:18 +0000 Systemd catches up with bind events https://lwn.net/Articles/837341/ https://lwn.net/Articles/837341/ Fowl <div class="FormattedComment"> Couldn&#x27;t some sort of &quot;compatibility mode&quot; be implemented for individual rules, where udev pretends the new events don&#x27;t exist?<br> </div> Mon, 16 Nov 2020 14:14:42 +0000 Systemd catches up with bind events https://lwn.net/Articles/837336/ https://lwn.net/Articles/837336/ hkario <div class="FormattedComment"> put yourself in the developers boots for a minute:<br> <p> you get a bug report, you look at the experienced behaviour, you haven&#x27;t encountered it before; you try it with your hardware, it&#x27;s not reproducible; you look at code that *may* be related, it doesn&#x27;t seem possible to trigger this kind of behaviour<br> <p> now, what on earth can you do more than to ask for more information?<br> <p> Developers aren&#x27;t omniscient and omnipotent entities that exist beyond confines of space and time, entities that fix bugs based only on a fickle. They&#x27;re human, and they need to understand the bug before they can fix it. <br> </div> Mon, 16 Nov 2020 12:21:45 +0000 Systemd catches up with bind events https://lwn.net/Articles/837335/ https://lwn.net/Articles/837335/ magfr <div class="FormattedComment"> This is interesting and further enforces my half formed thought that matching of inverse patterns are bad since it assumed that the set of values är fixed and unchanged.<br> <p> The example in the article was matching<br> ~add|change when what is needed is remove.<br> <p> For this poster the problem sounds like the reverse, he needs to match ~add|change and someone have &quot;optimzed&quot; that to remove.<br> <p> This proves that one need to know what one is doing and that crap can be written in any language, in this case the udev config rule language.<br> <p> One way to fix this is to document an ERROR event. <br> Any rule that mentions an ERROR event is broken.<br> Any action that happens when ERROR is issued is a bug.<br> </div> Mon, 16 Nov 2020 12:15:13 +0000 Systemd catches up with bind events https://lwn.net/Articles/837333/ https://lwn.net/Articles/837333/ k3ninho <div class="FormattedComment"> <font class="QuotedText">&gt;That is not trolling, that is an entirely fair response to &quot;you don&#x27;t see it because you don&#x27;t have the right hardware.&quot;</font><br> Many years of past experience have given this a name: &#x27;works for me&#x27;. Developer doesn&#x27;t experience the problem and can&#x27;t conceive of the imagined version of the code in their head not running as they think it will. <br> <p> This is dull, unhelpful pushback -- what would be better if not actually helpful is to call no-op ACTION==&quot;remove&quot;, GOTO=&#x27;end_stanza&#x27; an antipattern making you think that add/change/remove are the only legitimate udev action types and core to this 4.12-changed-userspace issue.<br> <p> (There&#x27;s a further issue at the level of our civilisation and society where &#x27;works for me&#x27; gives people with power -- to fix bugs raised by users -- a habit of denying the lived experience of users and the struggles that users have with our software, which can become a life-long denial of the lived experience and struggle of other human people. I get that, in software, unanticipated complexity means that fixes have to not also break other things and that makes an apparently-simple change expensive and unpredictable, easier to push back and not make changes. Here&#x27;s the question from this rhetoric: Are we not the wizards and masters of these systems that we should be able to change them to work more correctly for more people?)<br> <p> K3n.<br> </div> Mon, 16 Nov 2020 10:56:17 +0000 Systemd catches up with bind events https://lwn.net/Articles/837326/ https://lwn.net/Articles/837326/ pbonzini <div class="FormattedComment"> <font class="QuotedText">&gt; oh there&#x27;s a bug in systemd that causes it to spam the buffer, please upgrade to a fixed version</font><br> <p> Technically the upstream people couldn&#x27;t have known, since the bug was introduced by an incorrect distro backport. And if a buggy systemd, one that spews assertion failures all the time, will slow boot down to a crawl, the systemd people might even consider that to be a feature. It can and will happen for kernel WARNs as well, and a buggy PID 1 is not much better than a buggy kernel. But these are details, and in general I think we agree.<br> <p> What this shows to me, is that Linux is sorely lacking postmortems. Whenever Linus screams at me, I try to figure out what went wrong in my workflow and how I can improve it to avoid being screamed at in the future. On the other hand, if 5 years later people still believe that &quot;debug&quot; is a sacred part of the kernel command line (and not the more nuanced explanation that you gave), something went wrong on the kernel side in figuring out what happened.<br> </div> Mon, 16 Nov 2020 07:55:18 +0000 LPC https://lwn.net/Articles/837321/ https://lwn.net/Articles/837321/ nevets <div class="FormattedComment"> I didn&#x27;t like the direction LPC was heading and joined the committee to fix that. I happened to join *after* santa fe (as I had issues with that one). My biggest focus was to get away from being kernel centric and I believe I (with help from others on the committee) was successful.<br> <p> That&#x27;s why I asked you to come back and give it another try ;-)<br> <p> -- Steve<br> <p> </div> Mon, 16 Nov 2020 00:38:53 +0000 Systemd catches up with bind events https://lwn.net/Articles/837319/ https://lwn.net/Articles/837319/ nevets <div class="FormattedComment"> It wasn&#x27;t really the command line usage that was the problem. The real problem was that the command line triggered systemd to spam the kernel printk buffer so much that we lost all debug messages from the kernel. When reporting this as a problem, instead of saying there was a bug in systemd, we were told it was not a bug and systemd is perfectly fine using the debug command line to trigger writing debug messages in the kernel printk buffer. I thought the real solution was to separate kernel writes into printk from userspace writes, preventing userspace from overwriting what the kernel produces.<br> <p> This would not have escalated the way it did if we were told from the beginning, &quot;oh there&#x27;s a bug in systemd that causes it to spam the buffer, please upgrade to a fixed version&quot;. But instead told to bugger off. Yes, it really is a lack of communication and good faith between the two communities and I hope we can work better in the future.<br> </div> Mon, 16 Nov 2020 00:20:47 +0000 Systemd catches up with bind events https://lwn.net/Articles/837295/ https://lwn.net/Articles/837295/ NYKevin <div class="FormattedComment"> Eh, I&#x27;m unconvinced. IPv4 did that with Class E addresses, back when classful networking was still a thing. Nowadays, classes are otherwise dead, we&#x27;re running short of addresses, and Class E (now known as 240.0.0.0/4) is still &quot;reserved for future expansion&quot; - because everyone hard-coded it as invalid, sometimes even at the hardware level. So you can&#x27;t use 240/4 without losing backwards compatibility. But if you&#x27;re going to do a compatibility break anyway, you&#x27;re far better off switching to IPv6 altogether, as it gives you far more addresses to play with and is generally less of a hassle to administer (for example, it lacks NAT). So those ~268 million IPv4 addresses will likely never be publicly routable.<br> <p> Perhaps the RFCs of the time could have been written with greater care, but the trouble is that at the time (see RFC 988), they were in the process of designating class D (224.0.0.0/4) as multicast. They didn&#x27;t know what class E would be used for, so they couldn&#x27;t just say &quot;treat class E as if it were unicast, unless a later standard says otherwise.&quot; For all they knew at the time, they would later want to use class E for some even weirder thing, and unicast processing would have been inappropriate or even harmful. So they just left it as &quot;reserved,&quot; and the people who had to actually make the silicon and software decided that &quot;reserved&quot; meant &quot;invalid.&quot; IMHO, they didn&#x27;t really have much of a choice.<br> <p> In short: From userspace&#x27;s perspective, &quot;reserved for future expansion&quot; means &quot;I don&#x27;t know what this value represents, so if the kernel hands it to me, the only not-wrong thing I can possibly do is crash.&quot; In some contexts, ignoring the value *might* be not-wrong, but it&#x27;s hard for userspace to predict that in advance. Regardless, the kernel cannot rely on userspace taking any particular interpretation, because as Linus has previously said, they don&#x27;t break userspace, even where userspace is wrong.<br> </div> Sun, 15 Nov 2020 20:41:28 +0000 Systemd catches up with bind events https://lwn.net/Articles/837293/ https://lwn.net/Articles/837293/ jthill If the add event had been for fully-ready devices, shouldn't BIND have been more delivered *first*, and possibly spelled "CONNECT", for devices that aren't fully ready? Or --oh, I guess the check for whether the device needs prep done in userspace, in response to the ADD? Still, seems to me there's now no "device ready" event, because you can't tell what an ADD means, and that just feels wrong. Sun, 15 Nov 2020 20:09:05 +0000 Systemd catches up with bind events https://lwn.net/Articles/837291/ https://lwn.net/Articles/837291/ NYKevin <div class="FormattedComment"> That is not trolling, that is an entirely fair response to &quot;you don&#x27;t see it because you don&#x27;t have the right hardware.&quot;<br> <p> If you don&#x27;t tell them about the hardware that reproduces the bug, they cannot reproduce it. If they are unable to reproduce a bug, how are they supposed to evaluate a patch for that bug?<br> </div> Sun, 15 Nov 2020 18:47:29 +0000 Systemd catches up with bind events https://lwn.net/Articles/837290/ https://lwn.net/Articles/837290/ NYKevin <div class="FormattedComment"> <font class="QuotedText">&gt; which is the whole problem with the unixy philosophy of being liberal with what you accept, and strict in what you emit.</font><br> <p> That&#x27;s not Unix, that&#x27;s Postel&#x27;s Law, which IIRC originates from TCP/IP (where it is *also* an unholy mess, but of a different kind).<br> </div> Sun, 15 Nov 2020 18:44:00 +0000 Systemd catches up with bind events https://lwn.net/Articles/837273/ https://lwn.net/Articles/837273/ pbonzini <p>&gt; Perhaps it is reasonable to consider systemd exempted from the kernel's ABI/API stability promise, because it is sometimes almost the only user of certain interfaces? <p>That's complicated. With more and more people using containers&mdash;including OS containers running a full-blown init system&mdash;it's not that rare to see very new userspace on old kernels or vice versa. This also means that it will be much harder to remove features in distro kernels: for example, even if your distro ships with an nftables-based iptables(8), there could be containers using the older iptables API. Sun, 15 Nov 2020 15:19:46 +0000