]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/s390/kernel/kprobes.c
crypto: compress - Return produced bytes in crypto_{,de}compress_{update,final}
[karo-tx-linux.git] / arch / s390 / kernel / kprobes.c
index 569079ec4ff004f010d64df7d746b0a01caff44c..a01cf0284db2dc20b2ab7b9e6e0d299074410a49 100644 (file)
@@ -218,9 +218,10 @@ void __kprobes arch_disarm_kprobe(struct kprobe *p)
 
 void __kprobes arch_remove_kprobe(struct kprobe *p)
 {
-       mutex_lock(&kprobe_mutex);
-       free_insn_slot(p->ainsn.insn, 0);
-       mutex_unlock(&kprobe_mutex);
+       if (p->ainsn.insn) {
+               free_insn_slot(p->ainsn.insn, 0);
+               p->ainsn.insn = NULL;
+       }
 }
 
 static void __kprobes prepare_singlestep(struct kprobe *p, struct pt_regs *regs)
@@ -381,7 +382,7 @@ static int __kprobes trampoline_probe_handler(struct kprobe *p,
        /*
         * It is possible to have multiple instances associated with a given
         * task either because an multiple functions in the call path
-        * have a return probe installed on them, and/or more then one return
+        * have a return probe installed on them, and/or more than one return
         * return probe was registered for a target function.
         *
         * We can handle this because: