[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3908561D78D1C84285E8C5FCA982C28F39FA7163@ORSMSX114.amr.corp.intel.com>
Date: Fri, 8 Jan 2016 16:29:49 +0000
From: "Luck, Tony" <tony.luck@...el.com>
To: Borislav Petkov <bp@...en8.de>
CC: Andy Lutomirski <luto@...capital.net>,
Ingo Molnar <mingo@...nel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Andy Lutomirski <luto@...nel.org>,
"Williams, Dan J" <dan.j.williams@...el.com>,
Robert <elliott@....com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-mm@...ck.org" <linux-mm@...ck.org>,
linux-nvdimm <linux-nvdimm@...1.01.org>, X86 ML <x86@...nel.org>
Subject: RE: [PATCH v7 1/3] x86: Add classes to exception tables
>> +EXPORT_SYMBOL(ex_handler_default);
>
> Why not EXPORT_SYMBOL_GPL() ?
>
> We do not care about external modules.
I thought the guideline was that new features are GPL, but changes
to existing features shouldn't break by adding new GPL requirements.
The point is moot though because the shared hallucinations wore
off this morning and I realized that having the "handler" be a pointer
to a function can't work. We're storing the 32-bit signed offset from
the extable to the target address. This is fine if the table and the
address are close together. But for modules we have an exception
table wherever vmalloc() loaded the module, and a function back
in the base kernel.
So back to your ".long 0" for the default case. And if we want to allow
modules to use any of the new handlers, then we can't use
relative function pointers for them either.
So I'm looking at making the new field just a simple integer and using
it to index an array of function pointers (like in v7).
Unless someone has a better idea?
-Tony
Powered by blists - more mailing lists