Frederic Weisbecker
eae849ca03
tracing/function-return-tracer: don't trace kfree while it frees the return stack
Impact: fix a crash
While I killed the cat process, I got sometimes the following (but rare)
crash:
[ 65.689027] Pid: 2969, comm: cat Not tainted (2.6.28-rc6-tip #83) AMILO Li 2727
[ 65.689027] EIP: 0060:[<00000000>] EFLAGS: 00010082 CPU: 1
[ 65.689027] EIP is at 0x0
[ 65.689027] EAX: 00000000 EBX: f66cd780 ECX: c019a64a EDX: f66cd780
[ 65.689027] ESI: 00000286 EDI: f66cd780 EBP: f630be2c ESP: f630be24
[ 65.689027] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
[ 65.689027] Process cat (pid: 2969, ti=f630a000 task=f66cd780 task.ti=f630a000)
[ 65.689027] Stack:
[ 65.689027] 00000012 f630bd54 f630be7c c012c853 00000000 c0133cc9 f66cda54 f630be5c
[ 65.689027] f630be68 f66cda54 f66cd88c f66cd878 f7070000 00000001 f630be90 c0135dbc
[ 65.689027] f614a614 f630be68 f630be68 f65ba200 00000002 f630bf10 f630be90 c012cad6
[ 65.689027] Call Trace:
[ 65.689027] [<c012c853>] ? do_exit+0x603/0x850
[ 65.689027] [<c0133cc9>] ? next_signal+0x9/0x40
[ 65.689027] [<c0135dbc>] ? dequeue_signal+0x8c/0x180
[ 65.689027] [<c012cad6>] ? do_group_exit+0x36/0x90
[ 65.689027] [<c013709c>] ? get_signal_to_deliver+0x20c/0x390
[ 65.689027] [<c0102b69>] ? do_notify_resume+0x99/0x8b0
[ 65.689027] [<c02e6d1a>] ? tty_ldisc_deref+0x5a/0x80
[ 65.689027] [<c014db9b>] ? trace_hardirqs_on+0xb/0x10
[ 65.689027] [<c02e6d1a>] ? tty_ldisc_deref+0x5a/0x80
[ 65.689027] [<c02e39b0>] ? n_tty_write+0x0/0x340
[ 65.689027] [<c02e1812>] ? redirected_tty_write+0x82/0x90
[ 65.689027] [<c019ee99>] ? vfs_write+0x99/0xd0
[ 65.689027] [<c02e1790>] ? redirected_tty_write+0x0/0x90
[ 65.689027] [<c019f342>] ? sys_write+0x42/0x70
[ 65.689027] [<c01035ca>] ? work_notifysig+0x13/0x19
[ 65.689027] Code: Bad EIP value.
[ 65.689027] EIP: [<00000000>] 0x0 SS:ESP 0068:f630be24
This is because on do_exit(), kfree is called to free the return addresses stack
but kfree is traced and stored its return address in this stack.
This patch fixes it.
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-11-23 17:39:03 +01:00
..
2008-10-22 07:37:17 +02:00
2008-11-18 08:07:36 -08:00
2008-11-10 22:39:27 +01:00
2008-11-23 17:39:03 +01:00
2008-02-09 23:27:01 -08:00
2008-10-13 09:51:42 -07:00
2008-11-15 12:26:44 -08:00
2008-08-01 12:15:16 -04:00
2008-04-28 06:28:04 -04:00
2008-11-15 12:26:44 -08:00
2008-10-13 09:51:42 -07:00
2008-06-27 18:09:16 +02:00
2008-04-29 08:06:29 -07:00
2008-08-14 22:59:43 +10:00
2008-10-20 08:52:38 -07:00
2008-11-12 17:17:16 -08:00
2008-11-19 18:50:00 -08:00
2008-10-20 13:14:06 +02:00
2008-10-20 08:52:34 -07:00
2008-11-06 09:05:33 +01:00
2008-11-19 18:49:58 -08:00
2008-07-25 10:53:47 -07:00
2008-08-22 08:34:53 +02:00
2008-10-16 11:21:30 -07:00
2008-10-23 14:30:41 +04:00
2008-11-23 09:19:35 +01:00
2008-01-29 17:13:18 +11:00
2008-11-23 09:19:35 +01:00
2008-10-30 11:38:45 -07:00
2008-03-30 14:18:41 -07:00
2008-09-11 07:17:00 -07:00
2008-11-12 09:54:40 +01:00
2008-09-14 16:25:35 +02:00
2008-11-19 18:49:58 -08:00
2008-10-20 08:52:34 -07:00
2008-07-28 14:37:38 +02:00
2008-03-10 18:01:20 -07:00
2008-10-20 15:28:50 -07:00
2007-07-16 09:05:50 -07:00
2008-10-06 13:50:59 -05:00
2008-10-16 12:38:34 -07:00
2008-11-12 17:17:17 -08:00
2008-10-16 11:21:31 -07:00
2008-11-16 09:01:36 +01:00
2008-04-29 08:06:22 -07:00
2008-08-13 12:55:10 +02:00
2008-08-26 10:37:46 +02:00
2008-10-28 11:19:07 +01:00
2008-11-19 10:04:25 +01:00
2008-11-16 09:52:03 +01:00
2008-11-17 09:36:22 +01:00
2008-05-16 16:53:35 +02:00
2006-07-03 15:27:01 -07:00
2008-07-28 18:12:36 +02:00
2006-07-03 15:27:04 -07:00
2008-10-14 10:34:22 +02:00
2008-07-25 10:53:37 -07:00
2008-08-23 12:14:12 -07:00
2008-10-22 10:00:25 +11:00
2008-10-23 12:09:00 -07:00
2008-09-02 19:21:38 -07:00
2008-07-25 10:53:45 -07:00
2008-09-02 19:21:40 -07:00
2008-11-17 16:49:35 +01:00
2008-10-22 09:48:06 +02:00
2008-10-23 21:54:29 +02:00
2008-11-19 10:19:16 +01:00
2008-10-20 08:52:39 -07:00
2008-10-03 10:41:00 +02:00
2008-10-21 15:59:53 +02:00
2008-08-15 17:54:40 +02:00
2008-10-20 08:52:40 -07:00
2008-10-20 12:51:53 -07:00
2008-11-18 15:08:56 +01:00
2008-07-25 10:53:36 -07:00
2008-11-01 09:53:58 -07:00
2008-02-08 09:22:41 -08:00
2008-02-08 09:22:41 -08:00
2006-07-03 15:27:01 -07:00
2008-07-21 21:55:02 -07:00
2008-09-05 21:35:13 -07:00
2006-07-03 15:27:01 -07:00
2007-12-18 15:21:13 +01:00
2008-10-10 11:17:04 +02:00
2008-06-06 15:19:28 +02:00
2008-06-06 15:19:44 +02:00
2008-11-16 08:07:15 +01:00
2008-11-11 11:57:22 +01:00
2008-11-05 10:30:14 +01:00
2008-10-22 10:01:52 +02:00
2008-10-24 12:48:46 +02:00
2008-11-17 16:49:35 +01:00
2008-11-23 09:19:35 +01:00
2007-07-16 09:05:50 -07:00
2008-08-05 14:33:47 -07:00
2008-11-16 09:01:36 +01:00
2008-11-06 08:41:56 +01:00
2008-11-10 22:36:39 +01:00
2008-10-16 11:21:31 -07:00
2008-08-13 13:56:51 +02:00
2008-02-06 10:41:02 -08:00
2008-06-30 09:20:55 +02:00
2008-11-16 15:09:52 -08:00
2008-11-19 18:49:57 -08:00
2008-10-22 09:48:06 +02:00
2008-07-25 10:53:45 -07:00
2008-11-04 13:04:40 +01:00
2008-07-25 10:53:47 -07:00
2008-02-06 10:41:11 -08:00
2008-09-05 21:34:57 -07:00
2008-05-02 16:18:42 -07:00
2008-11-06 08:42:48 +01:00
2008-11-16 09:52:03 +01:00
2008-07-27 16:12:28 -07:00
2008-04-10 17:28:26 -07:00
2008-08-23 12:14:12 -07:00
2008-08-19 13:10:09 +02:00
2008-10-16 11:21:47 -07:00
2008-08-23 12:14:12 -07:00
2008-10-16 11:21:31 -07:00
2008-11-06 09:05:33 +01:00