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!
Hey let a man dream of a Linux freed from the exclusionary ideology of GNU. And if not, well you guys are more than welcome to hole up in your "No closed sourced allowed fort." I and others will just move to the equally capable BSD Unixs
It alienates nvidia. Are any other mega-corps being difficult enough to cause problems with linux?
As for its struggle to become mainstream (I assume you refer to desktop), I'd credit that to Linux not being commercial. And hence not having a marketing department. As soon as you DO market it, it takes off like a rocket. (Android, ChromeOS, SteamDeck)
Thank you for all the replies. Really should me how boned Linux is. And that alot of you have absolutely no idea how the GPL works. If you call a GPL function, the calling code MUST be GPL too.
Afaik, you only need to take GPL into consideration if you distribute GPL software. So if you use the os glibc, you can call into it without having to disclose your source code.
You're absolutely correct though. Imagine wanting widespread adoption of a system that requires a graphics driver to be GPL, thus shipping out an update that will block the current market leader in GPU compute and AI acceleration.
It doesn't matter how many paragraphs this community writes about how Nvidia is ugly and smelly, the fact is, they work fine on Windows.
Nvidias driver straight up violated the license by talking to parts of the kernel it wasn't legally allowed to talk to, by shipping its own tiny open source shim to sit between the proprietary and open source parts they wanted to illegally have interoperate.
This is a case of nvidia straight up actually breaking the law with a literal hack. Prompting linux into implementing new security measures.
We sane ones must stick together. I don't know why it's so hard for people to understand that they can't force Nvidia to go open source at gun point. They just move elsewhere