Messages in this thread | | | From | Andy Lutomirski <> | Date | Thu, 24 Sep 2015 12:03:35 -0700 | Subject | Re: [PATCH] x86/mm: Export cpu_tlbstate as non-GPL symbol |
| |
On Sep 22, 2015 11:58 AM, "Thomas Gleixner" <tglx@linutronix.de> wrote: > > On Tue, 22 Sep 2015, Andy Lutomirski wrote: > > On Tue, Sep 22, 2015 at 11:51 AM, James Forcier <csssuf@csssuf.net> wrote: > > > Exporting cpu_tlbstate as a GPL symbol was introduced in 1e02ce4c; however, this > > > breaks non-GPL modules which need to link against it, particularly the AMD > > > Catalyst drivers. > > > > What is AMD Catalyst doing with cpu_tlbstate? > > Fiddling with it behind the kernels back. Out of tree graphic drivers > always have their special needs. Just lookup the discussions about > unexporting init_mm ....
Look for kcl_mem_pat_setup here:
https://github.com/kolasa/fglrx-13.152/blob/master/firegl_public.c
I can't NAK this patch hard enough. The correct fix is for fglrx to delete all of the offending code and just use ioremap_wc (which is a plain old EXPORT_SYMBOL). We've supported ioremap_wc properly for *years*.
My personal view is that non-GPL modules are awful things to do, are so bloody annoying for their (paying!) users that I'm amazed that anyone puts up with them, but are nonetheless things that we shouldn't go out of our way to break. But for $*!&'s sake, we maybe should go out of our way to prevent utter bovine excrement* like the PAT hack in there from working.
--Andy, who is *really* looking forward to either Nvidia releasing signed firmware blobs or Intel releasing a reasonable new integrated GPU chip so he can stop using the nvidia binary driver.
* This is apparently the new polite term for it.
| |