Re: [PATCH 02/10] x86: add support for relative CALL and JMP in alternatives

From: H. Peter Anvin
Date: Thu Feb 18 2010 - 18:55:31 EST


On 02/18/2010 03:38 PM, Luca Barbieri wrote:
>> The existing instruction parser is only present if KPROBES is configured
>> in... this patch would make it obligatory. Your patch doesn't reflect
>> that. Furthermore, it is ~16K of code and data which probably will make
>> embedded people unhappy... although perhaps isn't out of line.
> Didn't notice that.
>
>> A good question, though, is if we actually need support for JMP or CALL
>> as anything but the first instruction (usually the *only* instruction),
>> which would make it a lot easier...
>
> Probably not.
> I think an even better option is to create a CALL if replacementlen is 0xff.
> This would save some space for each callsite and make it clear we only
> support this usage.

That is an idea.

If we're going to do a full setup, it would be nice to handle general
relocations -- in addition to JMP and CALL, this would also allow
RIP-relative memory operands. However, I think if we're going to do
that, it would be better to extract relocations at compile time (either
directly or via disassembly, which is basically what you're doing)
rather than at runtime.

-hpa

--
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/