this post was submitted on 30 Aug 2023
787 points (98.6% liked)

Linux

48315 readers
691 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
 

Luis Chamberlain sent out the modules changes today for the Linux 6.6 merge window. Most notable with the modules update is a change that better builds up the defenses against NVIDIA's proprietary kernel driver from using GPL-only symbols. Or in other words, bits that only true open-source drivers should be utilizing and not proprietary kernel drivers like NVIDIA's default Linux driver in respecting the original kernel code author's intent.

Back in 2020 when the original defense was added, NVIDIA recommended avoiding the Linux 5.9 for the time being. They ended up having a supported driver several weeks later. It will be interesting to see this time how long Linux 6.6+ thwarts their kernel driver.

(page 2) 50 comments
sorted by: hot top controversial new old
[–] [email protected] 16 points 1 year ago

This is the best summary I could come up with:


The Linux 6.6 modules infrastructure is changing to better protect against the illicit behavior of NVIDIA's proprietary kernel driver.

Most notable with the modules update is a change that better builds up the defenses against NVIDIA's proprietary kernel driver from using GPL-only symbols.

Given that symbol_get was only ever intended for tightly cooperating modules using very internal symbols it is logical to restrict it to being used on EXPORY_SYMBOL_GPL and prevent nvidia from costly DMCA circumvention of access controls lawsuits.

Luis Chamberlain further added in today's pull request: "Christoph Hellwig's symbol_get() fix to Nvidia's efforts to circumvent the protection he put in place in year 2020 to prevent proprietary modules from using GPL only symbols, and also ensuring proprietary modules which export symbols grandfather their taint.

The circumvention tactic used by Nvidia was to use symbol_get() to purposely swift through proprietary module symbols and completley bypass our traditional EXPORT_SYMBOL*() annotations and community agreed upon restrictions."

Back in 2020 when the original defense was added, NVIDIA recommended avoiding the Linux 5.9 for the time being.


The original article contains 476 words, the summary contains 174 words. Saved 63%. I'm a bot and I'm open source!

[–] [email protected] 15 points 1 year ago (2 children)

So what does that mean for me on Arch, how will it affect me?

ELI5?

[–] [email protected] 13 points 1 year ago

If they don't fix it before 6.6 comes out on Arch, you may have to use the LTS kernel.

load more comments (1 replies)
[–] [email protected] 13 points 1 year ago

It seems they just fixed symbol_get() so GPL-only symbols are avaliable to GPL driver

[–] ArbitraryValue 12 points 1 year ago* (last edited 1 year ago) (35 children)

I get why the Linux folks are doing this, but I don't expect that it will make them popular with anyone who actually uses Nvidia drivers on Linux (which is a lot of people). I'm sure that my employer will choose up-to-date Nvidia drivers over up-to-date versions of the kernel, at least in the short term. In the long term it probably won't be an issue since Nvidia will figure something out, but if it did become an issue then ultimately Nvidia driver support is non-negotiable for the company where I work.

(No one cares what a small tech company does, but the big guys need Nvidia too so it should be possible to piggyback on whatever they do.)

[–] [email protected] 8 points 1 year ago* (last edited 1 year ago)

I think end users wouldn't care either, they probably wouldn't even understand what's actually happening, they'll only notice performance degrading (if this is the case) and blame Linux for it.

That's not to say this shouldn't be done, I just wish there was better control on license violations and those doing it on purpose, like Nvidia in this case, would be seriously punished to make them think twice next time.

load more comments (34 replies)
[–] [email protected] 9 points 1 year ago (2 children)

Phoronix thinks I'm using ad blocker. In fact I'm not. I don't have any kind of adblocker on my network... *sigh*

[–] [email protected] 11 points 1 year ago (2 children)

Which browser are you using? Perhaps it has some built in blocking

load more comments (2 replies)
load more comments (1 replies)
[–] [email protected] 7 points 1 year ago (1 children)

Can someone ELI5 what this is about? Why does Nvidia wants to access parts if the Linux kernel and why are linux kernel maintainers against it? Wouldn't it be good if Nvidia uses more open-source stuff?

load more comments (1 replies)
load more comments
view more: ‹ prev next ›