diff options
author | Oleg Nesterov <oleg@redhat.com> | 2013-10-13 21:18:41 +0200 |
---|---|---|
committer | Oleg Nesterov <oleg@redhat.com> | 2013-10-29 18:02:53 +0100 |
commit | 248d3a7b2f100078c5f6878351177859380582e9 (patch) | |
tree | 68332322c85a53e47f3db1be0b2556d6c15b27b1 /kernel/fork.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 <mcermak@redhat.com>
Reported-by: David Smith <dsmith@redhat.com>
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Acked-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Diffstat (limited to 'kernel/fork.c')
0 files changed, 0 insertions, 0 deletions