|
|
Subscribe / Log in / New account

Recently posted comments

Congrats!

Posted Sep 23, 2025 10:14 UTC (Tue) by jengelh (guest, #33263)
In reply to: Congrats! by cyperpunks
Parent article: RPM 6.0.0 released

you first.


Different kinds of validation?

Posted Sep 23, 2025 9:20 UTC (Tue) by farnz (subscriber, #17727)
In reply to: Different kinds of validation? by taladar
Parent article: Tracking trust with Rust in the kernel

That's a related problem, solved already (as you've shown) by the newtype pattern.

Untrusted<T> is closer to the way &str relates to &[u8]; a string slice is a byte slice with the additional promise on top that it's valid UTF-8. In this analogy, Untrusted<T> is to T as &[u8] is to &str; you may "know" that this "should" be a safe string, but you have to actually validate it to use it (like you would with str::from_utf8 if you were dealing with byte slices).


Should C++ be deprecated?

Posted Sep 23, 2025 8:18 UTC (Tue) by farnz (subscriber, #17727)
In reply to: Should C++ be deprecated? by marcH
Parent article: Comparing Rust to Carbon

For some regulated processes, the compliance process does not care about the supplier at all. Instead, we have to show that every line of code available to the build system is (a) approved by a named employee of the company using the code, and (b) that there is a process to ensure that no changes are made to that code without a named employee of the company using the code approving it. This implies that when we update a dependency, we're having to take a diff between the two versions, and audit the changes line-by-line as well as in context, just as you do for new code from within the company.

And 100 small libraries does not have to imply 100 suppliers - Qt, for example, is 59 libraries from one supplier. And because it's 59 libraries, instead of having to review all of Qt if we pull it into the regulated system, we only have to review the Qt libraries we use - maybe 2 or 3, instead of 59.


Should C++ be deprecated?

Posted Sep 23, 2025 8:11 UTC (Tue) by taladar (subscriber, #68407)
In reply to: Should C++ be deprecated? by marcH
Parent article: Comparing Rust to Carbon

Your supply chain argument (whether through AI or otherwise) doesn't really work since a large dependency project with lots of committers is, if anything, more vulnerable to someone slipping in some random code in a place that none of the maintainers know very well, than a bunch of small dependencies.

As for unmaintained dependencies, that is what why we have the RUSTSEC announcements about unmaintained libraries along with cargo-deny or similar tooling. Of course our method of detecting when a dependency is unmaintained could be improved here but that is inherently still better than pretending a large dependency is maintained when really the code base is 50% maintained and 50% code nobody looked at for years.


Change address on every DHCP renewal

Posted Sep 23, 2025 8:07 UTC (Tue) by taladar (subscriber, #68407)
In reply to: Change address on every DHCP renewal by fest3er
Parent article: Linux's missing CRL infrastructure

Your assumption that there is a trusted local network is generally considered quite outdated by today's security models. With mobile devices it usually isn't the case and even with home networks you tend to not have any "local expert".


Different kinds of validation?

Posted Sep 23, 2025 8:03 UTC (Tue) by taladar (subscriber, #68407)
In reply to: Different kinds of validation? by farnz
Parent article: Tracking trust with Rust in the kernel

What I would really want is more along the lines of converting any &str to SafeHTMLString, SafeSQLString,... and then have the templating syntax only allow the latter types. I also don't see why that conversion couldn't be done with TryFrom. No real need for generics here either since the various types of safe string have nothing to do with each other and neither does the question if they exist for any given input type.


Cancellations in debugfs

Posted Sep 23, 2025 7:23 UTC (Tue) by benzea (subscriber, #96937)
Parent article: Revocable references for transient devices

That reminds me of the debugfs file removal race conditions we had in cfg80211. To solve those, we added the debugfs_enter_cancellation()/debugfs_leave_cancellation() API. The idea there is to have a callback that permits notifying the user asynchronously that the resource (the debugfs file in this case) is being removed and any outstanding file operation need to be cancelled ASAP.

In the cfg80211 case, the user file operations are handled by queuing a work item that will then hold the wiphy mutex. However, if the debugfs file is removed before it runs, then the work item is simply cancelled so that the file removal can go ahead immediately.

It does not look to me like this API can easily be used for this debugfs use in cfg80211. That is probably fine, but it could still be an interesting usage scenario to look at.


Congrats!

Posted Sep 23, 2025 7:04 UTC (Tue) by cyperpunks (subscriber, #39406)
Parent article: RPM 6.0.0 released

Now: rewrite in rust :-)


Leaky Interoperability

Posted Sep 22, 2025 23:19 UTC (Mon) by marcH (subscriber, #57642)
In reply to: Leaky Interoperability by hmanning77
Parent article: Comparing Rust to Carbon

> It's fine, in theory, to say that we should just enforce better standards. In practice people have lots to do and little time available. Perhaps Carbon will find ways to discourage temptation to write "just a little C++ to make this work"?

Yes, it's all about enforcement. One of the "easiest" ways is to tie bonuses to the "little C++" percentage. You can also block releases until that percentage falls under some target thresholds - exactly like any other quality metric. You can also inflict more mandatory review, test coverage, process overhead and what not on that percentage - making life with the "little C++" miserable.

There are plenty of ways - use your imagination. But they all require a strong, top-down push from management. That push exists in some technical enough companies. That safety push could be enough to make Carbon successful - exactly like it's been making Rust successful.

Who employs the speaker BTW? :-)


Should C++ be deprecated?

Posted Sep 22, 2025 23:05 UTC (Mon) by marcH (subscriber, #57642)
In reply to: Should C++ be deprecated? by farnz
Parent article: Comparing Rust to Carbon

> IME, regulated spheres don't care whether you get 100 functional components from one library, or whether you use 100 libraries each with one component - they want you to do the compliance burden for each component you use, not for each supplier.

Not sure what the exact extend of "regulated spheres" is but here at $BIGCORP there is definitely some amount of per-supplier work. How could the compliance process not care about the supplier at all?

> You don't get to avoid doing the paperwork for each unique type/size of screw by saying "they're all from The Phillips Screw Company"; you have to do paperwork for each unique type/size anyway

You can at least copy/paste the supplier information, that's much less work that researching 100 different suppliers.


Lots of use cases

Posted Sep 22, 2025 22:13 UTC (Mon) by Wol (subscriber, #4433)
In reply to: Lots of use cases by skissane
Parent article: Multiple kernels on a single system

And then the non-multi-kernel-aware kernel trips over a bug, tries to do something which would normally crash, and there just happens to be something real there that it accidentally trashes ...

Cheers,
Wol


interesting similarities to "hardware partitioning" of IBM mainframes

Posted Sep 22, 2025 22:10 UTC (Mon) by Wol (subscriber, #4433)
In reply to: interesting similarities to "hardware partitioning" of IBM mainframes by marcH
Parent article: Multiple kernels on a single system

> There is a gazillion different potential reasons for that: the solution was in search of a problem, it was too expensive, it was not mature yet, it broke backwards compatibility too much, it was mature and successful for a while but displaced by less convenient but much cheaper commodity solutions, etc.

It wasn't interesting to Universities? (So students never knew about it.)

Cheers,
Wol


Should C++ be deprecated?

Posted Sep 22, 2025 22:09 UTC (Mon) by marcH (subscriber, #57642)
In reply to: Should C++ be deprecated? by NYKevin
Parent article: Comparing Rust to Carbon

> But think about the implications of this for a moment. You would be arguing, essentially, that a "good" language ought to have a "bad" build system in order to force developers to do things the way you would prefer instead of the way that they would prefer.

That sounds like: a "good" language ought to make using raw pointers a "bad "experience in order to force developers to do things the (memory-safe) way you would prefer instead of the (unsafe) way that they would prefer.

Could not resist sorry (and thanks to excors https://lwn.net/Articles/1038755/)

In this day and age of massive supply chain attacks, things like "cargo vet" are critical. I have no idea whether "cargo vet" is the best solution and I don't even have a strong opinion on "massive dependency trees". But for sure there has to be _some_ sort of SBOM constraints to force most developers not to do things the way they prefer, which is: let AI write some code that imports random, orphaned open-source libraries and go home sooner.

(I hope no one replies with "Just train, police and manage your developers" which is the "mythical workplace" argument)


I thought that had a familiar ring to it

Posted Sep 22, 2025 20:57 UTC (Mon) by fman (subscriber, #121579)
Parent article: Revocable references for transient devices

Reminds me of the Macintosh toolbox Handle's..
HLock(h) & HUnlock(h) anyone ..


H.264 irrelevant yet?

Posted Sep 22, 2025 20:18 UTC (Mon) by aphedges (subscriber, #171718)
In reply to: H.264 irrelevant yet? by Cyberax
Parent article: OpenH264 induces headaches for Fedora

Thanks for pointing that out! I missed that it was only decoding support.


Change address on every DHCP renewal

Posted Sep 22, 2025 19:01 UTC (Mon) by fest3er (guest, #60379)
In reply to: Change address on every DHCP renewal by dskoll
Parent article: Linux's missing CRL infrastructure

... and that was the intent. Would an admin prefer (1) to visit every system to set its addressing, or (2) add MAC<->IP mappings to a central configuration that every host queries on startup? I prefer the latter.

As to the CRL problem, I think an expired equine is being flogged. I think that end-to-end encryption is nearing the end of—or was abused beyond—its usefulness. The problem is that nearly the entire industry forces security verification to be performed on insecure systems; face it, Windows, Mac, Linux, BSD, Haiku and all other user-installed and -maintained systems are inherently insecure. Does anyone *really* expect a non-expert user to properly maintain the security of his own system?

The correct solution is OE (host-gateway/gateway-host/host-host encryption). It will be centrally managed (much like centralized IP address management). It will be managed much closer to home. If you can't trust your own gateway, you might as well unplug all of your systems and return to pencil and paper.

In short, it comes down to trusting a far-off, nameless, faceless 'authority' to do the right thing. I don't know about any of you all, but I would far more readily trust the local expert in my home or in my neighborhood with whom I can speak face-to-face than the large, central, all-controlling national government or a self-publicized charlatan expert half-way around the planet. End-to-end encryption that depends on far-away people who are more concerned about profit than security is a losing proposition. End-to-end encryption should be reserved solely for situations that truly require it, such as banking, voting, and site-to-site VPNs.


Fully Tagged PDF (even for math) is in the works for LaTeX

Posted Sep 22, 2025 18:49 UTC (Mon) by jschrod (subscriber, #1646)
In reply to: Fully Tagged PDF (even for math) is in the works for LaTeX by notriddle
Parent article: Typst: a possible LaTeX replacement

You chose to use the one example of an error message that comes without a line number.

In all other error messages TeX's error messages consist of two lines. The first line has the line number and all characters that are read up to the error, the second line has the characters that are still to be processed.

But that is actually a bynote. You wrote

> tagged pdf or other niche features

Since journals (especial scientific journals that Lee wrote about) and other publishers increasingly demand the production of barrier free PDFs for online publication, Tagged PDF is not a niche feature, IMNSHO. Customers of mine currently pour 6-digit numbers of Euro in creation of such files. For private production it doesn't matter -- but for publication, it will soon be a must-have.


Firmware "kernels"

Posted Sep 22, 2025 17:55 UTC (Mon) by marcH (subscriber, #57642)
Parent article: Multiple kernels on a single system

> The other significant piece is a new inter-kernel communication mechanism, based on inter-processor interrupts, that allows the kernels running on different CPUs to talk to each other. Shared memory areas are set aside for the efficient movement of data between the kernels.

Maybe this could become a standard for communicating with firmwares too, so drivers don't have to keep re-inventing this wheel?

It's quite different because it's heterogeneous (both at the HW and SW levels) but most systems are _already_ "multi-kernels" when you think about it!


Neat: but isn't this a type-1 hypervisor?

Posted Sep 22, 2025 10:05 UTC (Mon) by paulj (subscriber, #341)
In reply to: Neat: but isn't this a type-1 hypervisor? by quotemstr
Parent article: Multiple kernels on a single system

> Like I said, I'd consider this cool thing a *kind* of virtualization, one that trades flexibility for performance, not something *distinct* from virtualization.

Similar stuff before has been called "Logical Partitions" (LPARs) by IBM, and "Logical Domains" (LDOMs) by Sun Microsystems (the sun4v stuff introduced in UltraSPARC T1 Niagara).


Neat: but isn't this a type-1 hypervisor?

Posted Sep 22, 2025 9:46 UTC (Mon) by farnz (subscriber, #17727)
In reply to: Neat: but isn't this a type-1 hypervisor? by quotemstr
Parent article: Multiple kernels on a single system

It's certainly an interesting turn of the wheel; one of the selling points of NUMA over clusters back in the 1990s was that a cluster required you to work out what needed to be communicated between partitions of your problem, and pass messages, while a NUMA cluster let any CPU read any data anywhere in the system.

NUMA systems could thus be treated as just a special case of clusters (instead of running an instance per system, passing messages over the network, run an instance per NUMA node, bound to the node, passing messages over shared memory channels), but they benefited hugely for problems where you'd normally stick to your instance's data, but could need to get at data from anywhere to solve the problem, since that was now just "normal" reads instead of message passing.

I'd be interested to see what the final intent behind this work is - is it better RAS (since you can upgrade the kernel NUMA node by NUMA node), is it about sharing a big machine among smaller users (like containers or virtualization, but with different costs), or is it about giving people an incentive to write their programs in terms of "one instance per NUMA node" again?



Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds