diff options
Diffstat (limited to 'kernel/kprobes.c')
| -rw-r--r-- | kernel/kprobes.c | 8 | 
1 files changed, 2 insertions, 6 deletions
diff --git a/kernel/kprobes.c b/kernel/kprobes.c index c0fa54b276d..0540948e29a 100644 --- a/kernel/kprobes.c +++ b/kernel/kprobes.c @@ -237,13 +237,9 @@ static int __kprobes collect_garbage_slots(void)  {  	struct kprobe_insn_page *kip;  	struct hlist_node *pos, *next; -	int safety;  	/* Ensure no-one is preepmted on the garbages */ -	mutex_unlock(&kprobe_insn_mutex); -	safety = check_safety(); -	mutex_lock(&kprobe_insn_mutex); -	if (safety != 0) +	if (check_safety())  		return -EAGAIN;  	hlist_for_each_entry_safe(kip, pos, next, &kprobe_insn_pages, hlist) { @@ -698,7 +694,7 @@ int __kprobes register_kprobe(struct kprobe *p)  	p->addr = addr;  	preempt_disable(); -	if (!__kernel_text_address((unsigned long) p->addr) || +	if (!kernel_text_address((unsigned long) p->addr) ||  	    in_kprobes_functions((unsigned long) p->addr)) {  		preempt_enable();  		return -EINVAL;  |