diff options
| author | bibo,mao <[email protected]> | 2006-10-02 02:17:35 -0700 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2006-10-02 07:57:16 -0700 |
| commit | 99219a3fbc2dcf2eaa954f7b2ac27299fd7894cd (patch) | |
| tree | 895abde156c9fbeea9c5a87cfaaa411d4ad175c6 /include/linux | |
| parent | f2aa85a0ccd90110e76c6375535adc3ae358f971 (diff) | |
[PATCH] kretprobe spinlock deadlock patch
kprobe_flush_task() possibly calls kfree function during holding
kretprobe_lock spinlock, if kfree function is probed by kretprobe that will
incur spinlock deadlock. This patch moves kfree function out scope of
kretprobe_lock.
Signed-off-by: bibo, mao <[email protected]>
Signed-off-by: Ananth N Mavinakayanahalli <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/kprobes.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/kprobes.h b/include/linux/kprobes.h index a5c5a0cb0d5c..ac4c0559f751 100644 --- a/include/linux/kprobes.h +++ b/include/linux/kprobes.h @@ -202,7 +202,7 @@ void unregister_kretprobe(struct kretprobe *rp); struct kretprobe_instance *get_free_rp_inst(struct kretprobe *rp); void add_rp_inst(struct kretprobe_instance *ri); void kprobe_flush_task(struct task_struct *tk); -void recycle_rp_inst(struct kretprobe_instance *ri); +void recycle_rp_inst(struct kretprobe_instance *ri, struct hlist_head *head); #else /* CONFIG_KPROBES */ #define __kprobes /**/ |