Re: [PATCH][RFC] kprobes: Add user entry-handler in kretprobes



Abhishek Sagar wrote:

the entry handler is called with the appropriate return instance. I
haven't put any explicit "match" test here for ri. The reason is that
the correct ri would be passed to both the entry and return handlers
as trampoline_handler() explicitly matches them to the correct task.
Note that all pending return instances of a function are chained in
LIFO order. S the entry-handler which gets called last, should have
its return handler called first (in case of multiple pending return
instances).


No, eventhough return instances are chained in an order, order of execution of return handler entirely depends on which process returns first(some process may return from 2 line of the function and some process may return from last line
of the function). So entry_handler() which gets executed last doesn't guarantee that its return handler will be executed first(because it took a lot time
to return).

So only thing to match the entry_handler() with its return_handler() is return probe instance(ri)'s address, which user has to take care explicitly (Hence I feel sol a) would be nice).

Thanks
Srinivasa DS

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



Relevant Pages

  • Re: at_exit handlers and Process.kill
    ... execution when the program exits." ... If you put "sleep 1 while true" before ... handler will never be installed. ... See signalfor descriptions and numbers of the various signals. ...
    (comp.lang.ruby)
  • Re: compile error about destructor
    ... the execution) and hence the execution hangs up. ... From MSDN, there are more values for exception code, check for the "Return ... the handler, should it skip the handler and continue ...
    (microsoft.public.vc.language)
  • Re: at_exit handlers and Process.kill
    ... execution when the program exits." ... If you put "sleep 1 while true" ... so the exit handler will never be installed. ... signals. ...
    (comp.lang.ruby)
  • Re: returning none when it should be returning a list?
    ... it means exactly what it says: that execution of the function body reaches ... the end of the function without seeing an explicit "return" statement. ... Python handles this by inserting an extra "return" statement at the end, ...
    (comp.lang.python)
  • Re: Trapping writes to mmapd memory.
    ... updates to the buffer _guaranteed_ to happen (assuming correct ... so that execution can be resumed as if nothing happened. ... the handler does not modify the saved state in *ctx, ...
    (comp.os.linux.development.system)