Jiang Liu
603b634847
kprobes: fix a memory leak in function pre_handler_kretprobe()
...
commit 55ca6140e9bb307efc97a9301a4f501de02a6fd6 upstream.
In function pre_handler_kretprobe(), the allocated kretprobe_instance
object will get leaked if the entry_handler callback returns non-zero.
This may cause all the preallocated kretprobe_instance objects exhausted.
This issue can be reproduced by changing
samples/kprobes/kretprobe_example.c to probe "mutex_unlock". And the fix
is straightforward: just put the allocated kretprobe_instance object back
onto the free_instances list.
[akpm@linux-foundation.org: use raw_spin_lock/unlock]
Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
Acked-by: Jim Keniston <jkenisto@us.ibm.com>
Acked-by: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-02-13 11:06:06 -08:00
..
2011-03-31 11:26:23 -03:00
2011-08-04 21:58:35 -07:00
2011-06-15 20:04:01 -07:00
2011-12-09 08:52:46 -08:00
2011-11-11 09:37:17 -08:00
2012-01-03 10:42:00 -08:00
2012-02-03 09:18:54 -08:00
2011-03-31 11:26:23 -03:00
2011-03-14 09:15:23 -04:00
2011-03-03 10:55:40 -08:00
2010-10-30 01:42:19 -04:00
2011-03-03 10:55:40 -08:00
2011-04-27 15:11:03 +02:00
2011-03-23 19:46:28 -07:00
2011-05-19 18:51:57 +10:00
2011-12-09 08:52:27 -08:00
2012-01-12 11:35:08 -08:00
2011-05-25 15:35:32 -07:00
2010-10-15 15:53:27 +02:00
2012-01-12 11:35:46 -08:00
2011-05-28 17:02:57 +02:00
2011-03-23 19:47:19 -07:00
2011-05-27 10:25:02 -07:00
2012-01-06 14:14:14 -08:00
2011-05-20 08:56:56 +02:00
2011-05-29 11:32:28 -07:00
2011-05-17 23:19:17 +02:00
2011-03-23 19:47:08 -07:00
2012-01-06 14:13:58 -08:00
2011-03-23 19:47:08 -07:00
2011-12-09 08:52:28 -08:00
2012-01-06 14:14:13 -08:00
2010-12-18 15:54:48 +01:00
2011-12-09 08:52:50 -08:00
2011-03-25 17:52:22 -07:00
2011-04-10 17:01:05 +02:00
2011-05-11 21:37:15 +02:00
2010-10-01 10:50:58 -07:00
2011-11-11 09:35:48 -08:00
2012-02-13 11:06:06 -08:00
2011-04-19 16:45:51 -07:00
2011-05-28 17:02:57 +02:00
2011-03-31 11:26:23 -03:00
2011-03-23 13:54:47 +01:00
2011-06-07 12:25:50 +02:00
2011-05-26 17:12:34 -07:00
2011-05-23 12:49:28 -07:00
2011-04-14 08:52:33 +02:00
2011-04-14 08:52:33 +02:00
2011-05-25 08:39:17 -07:00
2011-04-14 08:52:33 +02:00
2011-05-26 17:12:34 -07:00
2011-03-31 11:26:23 -03:00
2011-03-22 17:44:11 -07:00
2011-05-19 16:55:28 +09:30
2011-03-23 19:46:58 -07:00
2011-04-18 10:35:30 -07:00
2011-05-29 11:18:09 -07:00
2011-10-25 07:10:14 +02:00
2011-05-24 12:10:51 +02:00
2012-02-03 09:18:57 -08:00
2011-05-26 17:12:37 -07:00
2011-05-25 19:20:21 +02:00
2010-11-12 07:55:31 -08:00
2011-05-05 23:16:57 -07:00
2011-05-05 23:16:58 -07:00
2011-05-20 12:50:29 -07:00
2011-05-05 23:16:57 -07:00
2011-07-20 10:50:12 -07:00
2011-06-15 23:07:21 -07:00
2011-07-13 08:17:56 -07:00
2011-06-16 16:12:05 -07:00
2010-11-05 08:21:34 -07:00
2011-03-23 19:46:22 -07:00
2011-07-06 10:54:08 -07:00
2011-01-27 21:13:51 -05:00
2011-01-27 21:13:51 -05:00
2011-02-22 22:07:22 +01:00
2011-01-27 21:13:51 -05:00
2011-03-31 11:26:23 -03:00
2011-02-23 11:33:59 +01:00
2010-11-23 10:29:08 +01:00
2011-04-24 13:18:38 +02:00
2011-07-20 18:32:40 +02:00
2011-07-20 18:32:41 +02:00
2011-04-14 08:52:36 +02:00
2011-10-16 14:14:51 -07:00
2011-05-28 17:02:54 +02:00
2011-04-14 08:52:36 +02:00
2011-10-16 14:14:51 -07:00
2011-11-11 09:36:23 -08:00
2011-06-17 10:17:12 +02:00
2011-07-20 10:50:12 -07:00
2011-01-14 04:56:49 -08:00
2011-08-29 13:29:08 -07:00
2011-05-20 13:53:02 -07:00
2011-10-25 07:10:14 +02:00
2012-01-06 14:13:50 -08:00
2011-03-23 19:46:51 -07:00
2011-06-04 12:22:04 +02:00
2011-12-21 12:57:40 -08:00
2010-10-14 08:55:27 +02:00
2011-11-11 09:35:52 -08:00
2011-06-03 15:02:32 +02:00
2011-04-04 12:48:08 -04:00
2010-10-27 18:03:17 -07:00
2011-03-23 19:47:08 -07:00
2011-01-13 08:03:18 -08:00
2011-03-31 11:26:23 -03:00
2011-03-23 19:46:59 -07:00
2011-05-10 14:35:35 -07:00
2011-03-31 11:26:23 -03:00
2011-05-23 21:07:40 -07:00
2011-10-03 11:40:31 -07:00