On Wed, Jan 6, 2016 at 9:59 AM, Borislav Petkov <b...@alien8.de> wrote: > On Wed, Jan 06, 2016 at 09:54:19AM -0800, Andy Lutomirski wrote: >> I assume that this zero is to save the couple of bytes for the >> relocation entry on relocatable kernels? > > I didn't want to touch all _ASM_EXTABLE() macro invocations by adding a > third param @handler which is redundant as we know which it is.
I see. You could shove the .long ex_handler_default - . into the macro, but that would indeed bloat the kernel image a bit more (although not the in-memory size of the kernel). > >> > + new_ip = ex_fixup_addr(e); >> > + handler = ex_fixup_handler(e); >> > + >> > + if (!handler) >> > + handler = ex_handler_default; >> >> the !handler condition here will never trigger because the offset was >> already applied. > > Actually, if I do "0 - .", that would overflow the int because current > location is virtual address and that's 64-bit. Or would gas simply > truncate it? Lemme check... > > Anyway, what we should do instead is simply > > .long 0 > > to denote that the @handler is implicit. > > Right? Agreed. I just think that your current fixup_ex_handler implementation needs adjustment if you do it that way. --Andy -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/