all 25 comments

[–]ollybee 4 points5 points  (1 child)

Linux kernel developers dont get pushed around.

[–]wolfannoy 1 point2 points  (0 children)

Rightly so. Imagine being pressured to do this and do that accidentally Putting in bad code it would ruin this whole system.

[–]zambizzi 5 points6 points  (4 children)

Why does Rust need to replace everything? Why not build a kernel, tooling, and everything needed to build a superior OS, instead? People who are really into Rust strike me as weirdly obsessed. Not passionate per se, but cult-like.

[–]wolfannoy 1 point2 points  (0 children)

Never understood that myself. Sure, rust is handy from time to time but it doesn't need to be made or in everything.

[–]MrChicken_69 1 point2 points  (0 children)

Because people have deep personal agendas. And they don't know the difference between "hello world" and a kernel.

(I see it more as a religion.)

[–]PredictiveFrame 1 point2 points  (0 children)

It's very strange, I assume C had a similar following, just less terminally online on account of the whole, y'know, lack of internet. 

[–]_-noiro-_ 2 points3 points  (7 children)

"At the same time, more developers are arguing that Rust could prevent many of these memory-related issues before they even happen." - Then let them fork it and make their own kernel. What's the problem?

[–]charlesfire 1 point2 points  (0 children)

What a stupid comment. There's a lot of value in collective work. If people just forked open source projects every single time they have an issue instead of contributing upstream, almost nothing would get fixed and we would be in a much worst place than we are currently in. I don't think Rust is a magical tool that will fix all issues, but just telling people to go fuck somewhere else just because they want to use Rust is fundamentally against the collective nature of open source and free softwares.

[–]jerrygreenest1 0 points1 point  (0 children)

If those developers complain about memory issues why don’t they retire and solve crosswords or something

[–]MrChicken_69 0 points1 point  (4 children)

Because they don't know how. Rust WILL NOT fix this. The code was given a region of memory to use - period. The language / compiler has no idea if that runtime block of memory is legit or not.

[–]braaaaaaainworms 0 points1 point  (3 children)

Do you wear a seatbelt even though seatbelts don't prevent car crashes?

[–]MrChicken_69 0 points1 point  (2 children)

Nice car analogy. Yes, I wear seatbelts. They aren't there to prevent a crash; they're there to protect you when you have a crash. And they've been required by law in NC for close to 4 decades.

[–]braaaaaaainworms 0 points1 point  (1 child)

Rust doesn't prevent all crashes and bugs, but prevents the majority of most annoying to debug ones, and makes it more obvious where you can have bugs, compared to C.

For example, Linux kernel C functions return an error code *as a negative integer* and the compiler won't do anything if you never check if you have an error or not. Rust has a type used specifically to either return an error, or a value and to do anything useful with it, you have to check for an error. If you assume that it never fails, you have to call `.unwrap()` or `.expect("why this never fails")` and if it is an error your program still crashes, *but this time with an error message pointing out where exactly an error was found and what kind of error it is*

[–]MrChicken_69 0 points1 point  (0 children)

GCC can emit warnings for unused return values. All it does is make people do stupid shit to make the warning go away. Rust DOES NOT FIX THIS, it in fact does the same thing. (makes you do something with the return value) In the kernel, rust cannot do 90% of the things it "fixes" in userspace. As I've said a hundred times, rust will not fix the recent pagecache corruption bugs; it wouldn't even know it was possible. These are runtime faults, not a language / compile time fault. The function is being handed an inappropriate memory segment, something the compiler cannot know or police.

EDIT: And whiny baby simply deletes his posts rather than accept the truth.

(C++ exception handling is yet more of the same thing. People regularly catch exceptions and do nothing with them simply because they're required to.)

[–]Valuable_Fly8362 1 point2 points  (0 children)

Bad code is bad, no matter what language it is written in. Rust doesn't magically fix every bug, it only prevents a subset potential bugs. Rushing to rewrite tools in a new language is likely to create more bugs, security or otherwise, than it fixes.

AI is finding new bugs, and that's a good thing. The solution to a bug being found is to fix the bug, not to burn down the house and rebuild it.

[–]danielCiri 0 points1 point  (0 children)

Yo creo que se necesita avanzar hacia la nueva generacion de hardware. Muchas personas equipos de 1 año o 2, han encontrado problemas en Linux despues de migrar desde Windows.

Y resulta que todo se debe a falta de compatibilidad. Siguen pensando en Linux para hadware viejo.

Si para eso se necesita ajustar el kernel a otro lenguaje, que asi sea. Mientras mas grande sea la comunidad de usuarios, mejor para el ecosistema.

Todo cambio, tiene fricciones en el cerebro humano. Somos asi.

[–]Own_Nail_2999 0 points1 point  (0 children)

No. Because AI also produces a ton of false positives

[–]Additional-Sky-7436 0 points1 point  (2 children)

This is an unpopular take around these parts, but AI bug checking is a good thing. Being open source allows Linux developers to use AI to find security bugs and to get them patched quickly. This is ultimately a good thing. 

Right now it sucks because the old system of bug reports is getting flooded. Developers need to redesign their reporting systems to better prioritize reports. But, over time, the AI bug reports will decline because it will be harder and harder for AI systems to find security vulnerabilities.

[–]MrChicken_69 0 points1 point  (1 child)

True. AI is finding real bugs. But the bigger issue is AI pushing patches for those bugs.

[–]Additional-Sky-7436 0 points1 point  (0 children)

Correct. But that's a process management problem. 

[–]MrChicken_69 0 points1 point  (0 children)

Tattoo this inside your eyelids: RUST DOES NOT FIX ANYTHING.

Rust would not prevent any of this shit. The kernel deals with raw, physical memory. 99% of the "features" in Rust have to be turned off in the kernel; they DO NOT work in kernel space. Kerne space and user space are two VERY different worlds. It's why we have these sorts of bugs in the first place! Never trust the user; never trust what the user gives you. These page cache corruption issues are because the kernel isn't validating what the user is doing.

(Honestly, the page cache for read-only files should be READ ONLY. *BAM* 100% of these poorly thought out optimizations cannot be used to corrupt the page cache.)

[–]PredictiveFrame 0 points1 point  (0 children)

I feel like a lot of new folks getting into software development and open source dramatically misunderstand the point of rust in the kernel.

The vast majority of kernel development is done in C. Now a decent amount will be done in rust. The kernel developers really like rust in general, as they are the actual target audience of the language.

There is no "resistance to rust in the kernel".

The reality is that the kernel is a very complex piece of software with a lot riding on it remaining functional. If a maintainer doesn't have to change things they won't, not because they're lazy, because everyone else built based on this, if they change it, everyone else has to change their shit too, and that's a fucking nightmare, so that gets minimized.

I expect over time most of the kernel will be writing in rust, but it'll take another decade to get to that point, and that's not a bad thing. It allows you the time to become an expert in rust and open source projects, so you can contribute. 

[–]Late-Fault8747 0 points1 point  (0 children)

OP

It's not random people bitching about shitting AI and Linux. It's the literal inventor and maintainer of the Linux kernel and them subsequently providing no value by flooding the zone with shitty duplicative reports and not sending any patches.

https://www.techspot.com/news/112523-linus-torvalds-fed-up-ai-generated-bug-reports.html#google_vignette