this post was submitted on 13 May 2024
115 points (93.9% liked)

Linux

47575 readers
820 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] we_avoid_temptation@lemmy.zip 39 points 4 months ago* (last edited 4 months ago) (1 children)

Why would they do this?

Also, if you wanted to do this yourself, it is technically possible. Go build LFS and read every single LOC.

[–] Successful_Try543@feddit.de 55 points 4 months ago* (last edited 4 months ago) (1 children)

The kernel alone has more than 30,000,000 LOC. Alone reading would take forever and a day for a single person, let alone understand it.

[–] biribiri11@lemmy.ml 47 points 4 months ago* (last edited 4 months ago) (2 children)

That’s barely the tip of the iceberg, too. Currently, popular projects sit at:

31M for KDE

25M for GNOME

41M for Chromium

42M for Mozilla Firefox

17M for LLVM

15M for GCC

(Note that this metric includes comments and blank lines, to which Linux would count at 46M lines. Counts with blank lines and comments removed are also in those links)

Even if a package was completely vetted, line-by-line, before it made it into a repo, would the maintainer need to get every update, too? Every PR? Imagine the maintenance burden. This code QA and maintainer burden discussion was the crux of one of the most popular discussions on the Fedora devel list.

[–] lily33@lemm.ee 25 points 4 months ago (2 children)

Finally, presumably if anyone added some malicious code in a their program, it would be sneaky and not obvious from quickly reading the code.

[–] Norgur@kbin.social 37 points 4 months ago (2 children)

I'd expect them to properly comment it with "#-------Begin malicious shit--------".
COMMENT YOUR CODE, PEOPLE!

[–] atzanteol@sh.itjust.works 20 points 4 months ago

The exploit should be written in a way that it is obvious and doesn't need commenting!

[–] lily33@lemm.ee 14 points 4 months ago* (last edited 4 months ago) (1 children)

Oh, in that case we don't need to read either - just run a simple grep!

[–] Norgur@kbin.social 10 points 4 months ago (1 children)

Those malicious coders are too sly for that. Some write "Sh1t" to throw grep off, others even do a "B3g1n"... They are always one step ahead!

[–] lily33@lemm.ee 4 points 4 months ago

Good point. I'd try to grep for something like [Bb3][Ee3]g[Ii1][nη]\w+<and so on> but I just know I'll miss something

[–] banazir@lemmy.ml 12 points 4 months ago (1 children)

Well yeah, the recent xz vulnerability was not present in the source code at all. Any amount of code reading would not have caught that one.

[–] Successful_Try543@feddit.de 3 points 4 months ago* (last edited 4 months ago) (1 children)

Wasn't the problem that ~~it~~ the backdoor was not present in the source code on GitHub, but was in the source tarball? So as long as one reads the code that one actually builds from should be fine.

[–] SuperIce@lemmy.world 6 points 4 months ago (1 children)

A line of code that enables the backdoor was out present in the tarball. The actual code was obfuscated within an archive used for the unit testing.

[–] Successful_Try543@feddit.de 4 points 4 months ago

OK. So simply reading what was readable wouldn't have helped. Thanks.

[–] bitfucker@programming.dev 9 points 4 months ago (2 children)

It is bonkers that a fucking Web Browser has more LOC than a Desktop Environment

[–] leopold@lemmy.kde.social 12 points 4 months ago* (last edited 4 months ago)

It's even more bonkers than it sounds. If you look at the code locations for that KDE count, you'll see it also includes just about every KDE project. That's not just Plasma, that's hundreds of projects, including some really big ones like Krita, Kdenlive, Calligra, LabPlot, Kontact, Digikam and Plasma Mobile. Hell, it even includes KHTML/KJS, KDE's defunct web engine as well as the ancestor of WebKit and Blink. It even includes AngelFish and Falkon, KDE's current web browser frontends.

Same deal with GNOME. It includes just about everything on GNOME's GitLab, even things that are merely hosted there without strictly being GNOME projects, like GIMP and GTK.

And yet still they are both that far behind Chromium and Firefox. Modern web browsers are ludicrous.

[–] Auli@lemmy.ca 1 points 4 months ago

Not really the browser does everything these days.