> I'm attempting to set up a "hot patcher" in an embedded product. I'm
> attempting to use shared memory, however the "target" process is not aware
> of the patch being applied to it. Can a pseudo-driver attach a shared memory
> segment to a process which can then be executable by that process via a jump
> or jump-and-link, or is shared memory only for passing data and messages
> between collaborating processes? The references I've read only indicate the
> RW permissions, no X permissions. Or should I have the pseudo-driver
> actually allocate (by get_free_pages()) the memory required? And can it do
> this on behalf of the target process?
You shouldnt even need a driver if you are clever. The ptrace() functionality
for debuggers is sufficient to patch running code, and to do other interesting
things by adding new functions and calling them
|