KUMANO Syuhei
737480a0d5
kprobes/x86: Fix the return address of multiple kretprobes
Fix the return address of subsequent kretprobes when multiple
kretprobes are set on the same function.
For example:
# cd /sys/kernel/debug/tracing
# echo "r:event1 sys_symlink" > kprobe_events
# echo "r:event2 sys_symlink" >> kprobe_events
# echo 1 > events/kprobes/enable
# ln -s /tmp/foo /tmp/bar
(without this patch)
# cat trace
ln-897 [000] 20404.133727: event1: (kretprobe_trampoline+0x0/0x4c <- sys_symlink)
ln-897 [000] 20404.133747: event2: (system_call_fastpath+0x16/0x1b <- sys_symlink)
(with this patch)
# cat trace
ln-740 [000] 13799.491076: event1: (system_call_fastpath+0x16/0x1b <- sys_symlink)
ln-740 [000] 13799.491096: event2: (system_call_fastpath+0x16/0x1b <- sys_symlink)
Signed-off-by: KUMANO Syuhei <kumano.prog@gmail.com>
Reviewed-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
LKML-Reference: <1281853084.3254.11.camel@camp10-laptop>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2010-08-19 12:49:56 +02:00
..
2010-08-06 10:07:34 -07:00
2010-08-13 18:00:25 -07:00
2010-08-18 11:17:39 +02:00
2010-07-13 14:57:50 -07:00
2010-06-01 10:20:15 +02:00
2010-07-27 17:14:24 +02:00
2010-05-19 13:45:39 -07:00
2010-07-20 15:38:30 -07:00
2010-07-19 10:56:54 +02:00
2009-08-26 21:29:58 +02:00
2010-02-28 11:00:55 -08:00
2010-03-30 22:02:32 +09:00
2010-05-27 09:12:48 -07:00
2010-03-30 22:02:32 +09:00
2010-07-21 11:33:27 -07:00
2009-07-19 18:27:51 +02:00
2010-06-08 23:29:52 +02:00
2010-06-08 23:29:52 +02:00
2010-06-08 23:29:52 +02:00
2010-06-10 11:02:34 -04:00
2010-05-20 21:04:31 -05:00
2010-07-15 17:10:02 +02:00
2009-08-03 13:34:25 -07:00
2010-02-07 17:47:51 +01:00
2010-08-06 16:24:17 -07:00
2010-08-13 16:53:13 -07:00
2010-02-27 10:06:10 +01:00
2010-06-16 18:05:05 +02:00
2010-03-29 18:55:33 +02:00
2010-06-18 14:54:36 -07:00
2010-07-21 21:23:51 -07:00
2010-08-12 09:53:39 -07:00
2010-06-24 23:35:27 +02:00
2009-10-01 08:42:24 +02:00
2010-08-06 16:25:13 -07:00
2010-03-02 10:28:38 +01:00
2010-07-20 15:27:33 -07:00
2010-03-03 11:25:58 +01:00
2009-12-09 16:54:08 -08:00
2009-11-02 15:56:34 +01:00
2009-11-02 15:56:34 +01:00
2009-12-14 23:55:33 +01:00
2010-05-03 13:39:29 -07:00
2010-03-30 22:02:32 +09:00
2010-03-30 22:02:32 +09:00
2010-08-05 09:22:25 -05:00
2010-08-19 12:49:56 +02:00
2009-09-10 18:10:50 +03:00
2010-05-19 11:41:05 +03:00
2010-03-30 22:02:32 +09:00
2009-12-08 13:27:33 -08:00
2010-03-30 22:02:32 +09:00
2010-06-18 14:54:36 -07:00
2010-03-30 22:02:32 +09:00
2010-01-23 06:21:59 +01:00
2010-05-25 15:08:26 -07:00
2010-03-11 13:49:06 +01:00
2010-02-10 17:47:17 -08:00
2010-03-30 22:02:32 +09:00
2010-08-05 16:26:42 -07:00
2010-08-06 10:06:28 -07:00
2010-05-27 09:12:48 -07:00
2010-07-30 18:02:21 -07:00
2010-07-30 18:02:21 -07:00
2009-12-14 23:55:32 +01:00
2010-02-27 14:41:35 -08:00
2010-06-30 22:41:42 -07:00
2010-08-02 15:18:33 -04:00
2010-04-13 13:24:54 +02:00
2010-03-30 22:02:32 +09:00
2010-05-27 09:12:52 -07:00
2010-06-18 11:35:10 +02:00
2010-06-18 11:35:10 +02:00
2010-08-13 16:53:13 -07:00
2010-05-01 04:32:07 +02:00
2010-05-19 11:41:05 +03:00
2010-07-15 17:10:02 +02:00
2009-12-15 08:53:28 -08:00
2010-06-20 09:24:13 +02:00
2009-09-18 14:05:47 -07:00
2010-07-21 09:25:42 -07:00
2010-06-18 14:54:36 -07:00
2010-06-09 13:34:06 -07:00
2009-12-09 16:28:59 -08:00
2010-03-30 22:02:32 +09:00
2010-08-09 20:45:06 -07:00
2010-06-09 17:32:19 +02:00
2010-03-26 11:33:57 +01:00
2010-03-12 15:52:32 -08:00
2010-03-12 15:52:32 -08:00
2010-08-10 15:35:10 -07:00
2010-05-21 17:16:21 -07:00
2010-02-16 18:21:32 +01:00
2010-08-01 09:18:41 +02:00
2009-09-20 20:23:37 +02:00
2009-10-12 18:06:48 +02:00
2009-12-11 09:28:22 +01:00
2010-08-05 08:45:05 +02:00
2009-12-14 23:55:32 +01:00
2010-07-27 12:40:55 +02:00
2010-05-18 09:46:35 -07:00
2010-02-07 17:47:51 +01:00
2010-03-30 22:02:32 +09:00
2010-07-21 21:23:40 -07:00
2010-02-22 16:25:18 -08:00
2009-12-09 16:29:23 -08:00
2010-03-30 22:02:32 +09:00
2010-03-08 16:55:37 +01:00
2010-06-01 08:55:52 -07:00
2010-07-27 12:40:54 +02:00
2010-07-07 17:05:06 -07:00
2010-04-28 17:25:47 -07:00
2010-08-06 16:25:13 -07:00