From: Oleg Nesterov Date: Sun, 13 Oct 2013 19:18:41 +0000 (+0200) Subject: uprobes: Change uprobe_copy_process() to dup return_instances X-Git-Tag: omap-for-v3.13/fixes-for-merge-window-take2~41^2~17^2~2 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=248d3a7b2f100078c5f6878351177859380582e9;p=pandora-kernel.git 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 Reported-by: David Smith Signed-off-by: Oleg Nesterov Acked-by: Srikar Dronamraju --- Reading git-diff-tree failed