Jiang Liu
ff016619c9
kprobes: fix a memory leak in function pre_handler_kretprobe()
...
commit 55ca6140e9 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:16:54 -08:00
..
2011-11-06 19:44:47 -08:00
2011-12-14 08:44:53 +01:00
2011-07-26 16:49:45 -07:00
2011-12-02 11:54:24 +01:00
2011-11-23 21:03:38 +01:00
2011-12-30 13:24:40 -08:00
2012-01-25 16:13:29 -08:00
2011-10-31 09:20:12 -04:00
2011-07-20 14:10:11 -07:00
2011-10-31 09:20:12 -04:00
2011-10-31 09:20:12 -04:00
2011-10-31 09:20:12 -04:00
2011-11-24 11:58:22 -08:00
2012-01-12 11:29:35 -08:00
2011-10-31 19:30:05 -04:00
2011-07-25 20:57:15 -07:00
2011-09-23 12:05:29 +05:30
2011-11-06 19:44:47 -08:00
2011-12-20 10:25:04 -08:00
2011-11-06 19:44:47 -08:00
2011-10-31 09:20:12 -04:00
2011-07-14 12:59:14 +03:00
2011-10-31 09:20:12 -04:00
2012-01-04 15:01:59 -08:00
2011-11-17 20:49:06 +08:00
2011-11-06 19:44:47 -08:00
2011-12-31 11:48:28 -08:00
2011-10-31 09:20:12 -04:00
2011-11-28 08:43:52 -08:00
2012-01-03 16:14:32 -08:00
2011-10-31 09:20:12 -04:00
2011-12-05 13:28:46 -05:00
2011-06-10 15:15:40 +02:00
2011-10-30 15:16:42 +01:00
2011-10-31 09:20:12 -04:00
2011-10-26 13:10:39 +10:30
2012-02-13 11:16:54 -08:00
2011-10-31 09:20:13 -04:00
2011-10-31 09:20:12 -04:00
2011-10-31 09:20:12 -04:00
2011-10-31 09:20:12 -04:00
2011-12-06 18:18:13 +01:00
2011-10-28 12:02:27 -07:00
2011-11-06 19:44:47 -08:00
2011-10-31 09:20:12 -04:00
2011-10-31 09:20:12 -04:00
2011-10-31 09:20:12 -04:00
2011-10-31 09:20:12 -04:00
2011-10-31 09:20:12 -04:00
2011-11-07 07:54:42 +10:30
2011-10-31 09:20:13 -04:00
2011-10-31 09:20:12 -04:00
2011-10-26 16:17:32 +02:00
2011-10-31 09:20:12 -04:00
2011-12-09 07:50:28 -08:00
2011-10-31 09:20:12 -04:00
2012-01-04 15:01:59 -08:00
2011-10-31 09:20:11 -04:00
2011-09-28 21:38:21 -07:00
2011-10-31 09:20:12 -04:00
2011-10-31 09:20:13 -04:00
2011-10-31 09:20:13 -04:00
2011-09-28 21:38:46 -07:00
2011-09-28 21:38:48 -07:00
2011-09-28 21:38:22 -07:00
2011-10-31 09:20:12 -04:00
2011-09-28 21:38:48 -07:00
2011-10-31 09:20:12 -04:00
2011-10-31 09:20:12 -04:00
2011-10-31 09:20:12 -04:00
2011-10-31 09:20:12 -04:00
2011-10-31 09:20:12 -04:00
2011-10-31 09:20:12 -04:00
2011-07-01 10:39:08 +02:00
2011-10-31 09:20:12 -04:00
2011-08-14 12:01:11 +02:00
2011-08-14 12:01:11 +02:00
2011-12-16 09:44:58 +01:00
2011-11-14 12:50:40 +01:00
2011-11-14 12:50:40 +01:00
2011-09-13 11:11:55 +02:00
2011-08-14 12:01:13 +02:00
2011-11-14 12:50:43 +01:00
2011-10-31 09:20:12 -04:00
2012-01-04 15:01:59 -08:00
2011-10-31 09:20:12 -04:00
2011-10-31 09:20:12 -04:00
2011-10-31 09:20:12 -04:00
2011-10-31 09:20:12 -04:00
2011-10-31 09:20:12 -04:00
2011-11-06 19:44:47 -08:00
2011-10-31 17:30:44 -07:00
2011-11-06 19:44:47 -08:00
2011-12-20 10:25:04 -08:00
2011-08-12 16:21:35 -05:00
2011-10-31 17:46:07 -07:00
2011-09-19 17:04:37 -07:00
2011-10-31 09:20:12 -04:00
2011-12-09 07:50:29 -08:00
2012-01-25 16:13:52 -08:00
2011-09-19 17:10:57 -07:00
2011-10-31 09:20:12 -04:00
2011-10-31 09:20:12 -04:00
2011-10-31 09:20:12 -04:00
2011-10-31 09:20:12 -04:00
2011-11-06 19:44:47 -08:00
2011-10-31 09:20:12 -04:00
2011-10-31 09:20:12 -04:00
2011-10-31 17:30:53 -07:00
2011-10-31 09:20:12 -04:00