Dynamically altering code segments

From: Collins, Tom (Tom.Collins@Surgient.com)
Date: Tue Feb 27 2001 - 11:43:02 EST


This is my first post, so if this is off topic for this list, please direct
to another one that is more appropriate. Thanks

That said, I am wanting to dynamically modify the kernel in specific places
implement a custom kernel trace mechanism. The general idea is that, when
"trace" is off, there are NOP instruction sequences at various places in the
kernel. When the "trace" is turned on, those same NOPs are replaced by JMPs
to code that implements the trace (such as logging events, using the MSR and
PMC's etc..).

This was a trick that was done in my old days of OS/2 performance tools
developement to get trace information from the running kernel. In that
we simply remapped the appropriate code segments to data segments (I think
back then it was called 'aliasing code segments') and used that segment to
make changes to the kernel code on the fly.

Is it possible to do the same thing in Linux?



To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

This archive was generated by hypermail 2b29 : Wed Feb 28 2001 - 21:00:14 EST