mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-21 06:01:23 +00:00
uretprobes: Return probe entry, prepare_uretprobe()
When a uprobe with return probe consumer is hit, prepare_uretprobe() function is invoked. It creates return_instance, hijacks return address and replaces it with the trampoline. * Return instances are kept as stack per uprobed task. * Return instance is chained, when the original return address is trampoline's page vaddr (e.g. recursive call of the probed function). Signed-off-by: Anton Arapov <anton@redhat.com> Acked-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com> Signed-off-by: Oleg Nesterov <oleg@redhat.com>
This commit is contained in:
parent
f15706b79d
commit
0dfd0eb8e4
2 changed files with 92 additions and 1 deletions
|
@ -71,6 +71,7 @@ struct uprobe_task {
|
|||
enum uprobe_task_state state;
|
||||
struct arch_uprobe_task autask;
|
||||
|
||||
struct return_instance *return_instances;
|
||||
struct uprobe *active_uprobe;
|
||||
|
||||
unsigned long xol_vaddr;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue