Re: [PATCH] x86/mm: Export cpu_tlbstate as non-GPL symbol

From: Andy Lutomirski
Date: Thu Sep 24 2015 - 15:04:02 EST


On Sep 22, 2015 11:58 AM, "Thomas Gleixner" <tglx@xxxxxxxxxxxxx> wrote:
>
> On Tue, 22 Sep 2015, Andy Lutomirski wrote:
> > On Tue, Sep 22, 2015 at 11:51 AM, James Forcier <csssuf@xxxxxxxxxx> 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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/