diff options
author | Oleg Nesterov <[email protected]> | 2013-10-13 21:18:41 +0200 |
---|---|---|
committer | Oleg Nesterov <[email protected]> | 2013-10-29 18:02:53 +0100 |
commit | 248d3a7b2f100078c5f6878351177859380582e9 (patch) | |
tree | 68332322c85a53e47f3db1be0b2556d6c15b27b1 /tools/perf/util/trace-event-scripting.c | |
parent | af0d95af79773f7637107cd3871aaabcb425f15a (diff) |
uprobes: Change uprobe_copy_process() to dup return_instances
uprobe_copy_process() assumes that the new child doesn't need
->utask, it should be allocated by demand.
But this is not true if the forking task has the pending ret-
probes, the child should report them as well and thus it needs
the copy of parent's ->return_instances chain. Otherwise the
child crashes when it returns from the probed function.
Alternatively we could cleanup the child's stack, but this needs
per-arch changes and this is not what we want. At least systemtap
expects a .return in the child too.
Note: this change alone doesn't fix the problem, see the next
change.
Reported-by: Martin Cermak <[email protected]>
Reported-by: David Smith <[email protected]>
Signed-off-by: Oleg Nesterov <[email protected]>
Acked-by: Srikar Dronamraju <[email protected]>
Diffstat (limited to 'tools/perf/util/trace-event-scripting.c')
0 files changed, 0 insertions, 0 deletions