2011-02-18 10:31:29

by Jan Beulich

[permalink] [raw]
Subject: Re: [PATCH 2/3] x86-64: use relative 32-bit pointers in exception tables

>>> On 18.02.11 at 10:34, Jan Beulich wrote:
> >>> On 18.02.11 at 05:49, "H. Peter Anvin" <[email protected]> wrote:
> > This breaks arch/x86/kernel/test_nx.c:
> >
> > /home/hpa/kernel/linux-2.6-tip.asm/arch/x86/kernel/test_nx.c: In
> > function ‘fudze_exception_table’:
> > /home/hpa/kernel/linux-2.6-tip.asm/arch/x86/kernel/test_nx.c:62: error:
> > ‘struct exception_table_entry’ has no member named ‘insn’
> > make[4]: *** [arch/x86/kernel/test_nx.o] Error 1
> > make[3]: *** [arch/x86/kernel] Error 2
> > make[2]: *** [arch/x86] Error 2
> > make[2]: *** Waiting for unfinished jobs....
>
> And rightly so: The code inserts pointers into stack and heap,
> which clearly can't be expressed as relative 32-bit pointers. The
> question now is whether I should drop the whole idea, or
> whether the hackish test code could get dropped (until someone
> can come up with a better idea than patching the module's
> exception table) for x86-64.

With CONFIG_DEBUG_SET_MODULE_RONX=y that test is broken
(it oopses) currently anyway, so I'm even more tempted to
suppress rather than fix it.

Jan