Karim Yaghmour wrote: > Thanks, but I didn't mean eternally self-modifying code. What I > meant is that you insert a couple of nops in the normal flow > of code and when you want to hook onto an event, you simply > overwrite the nops with a call to the function you want. This > isn't something that should happen more than once in normal > system behavior. Hence, it costs a lot the first time, but > after that, it's business as usual. Yup, that's the way to do it. The "structured programming view of self-modifying operating systems" is embodied in the Synthesis Kernel work of Massalin & Pu. My favorite example of this is that the ready queue of exeuctable task control blocks in Synthesis. Normally a linked list that the scheduler walks along, Synthesis made the context switch code for each task be a jump to the next task. Queue order was manipulated by changing the jump address in the code. Here's some links: * http://citeseer.nj.nec.com/massalin89threads.html * http://www.cs.berkeley.edu/~gribble/osprelims/summaries/synthesis.html Crispin -- Crispin Cowan, Ph.D. Chief Scientist, WireX Communications, Inc. http://wirex.com Security Hardened Linux Distribution: http://immunix.org _______________________________________________ linux-security-module mailing list linux-security-moduleat_private http://mail.wirex.com/mailman/listinfo/linux-security-module
This archive was generated by hypermail 2b30 : Mon Apr 16 2001 - 11:11:56 PDT