rv: Unlock on error path in rv_unregister_reactor()
authorDan Carpenter <dan.carpenter@oracle.com>
Thu, 4 Aug 2022 14:33:48 +0000 (17:33 +0300)
committerSteven Rostedt (Google) <rostedt@goodmis.org>
Fri, 5 Aug 2022 02:49:17 +0000 (22:49 -0400)
Unlock the "rv_interface_lock" mutex before returning.

Link: https://lkml.kernel.org/r/YuvYzNfGMgV+PIhd@kili
Fixes: 04acadcb4453 ("rv: Add runtime reactors interface")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
kernel/trace/rv/rv_reactors.c

index a6522c1963821d58674eac63e925477409e35088..6aae106695b6580c978ce5633215de91ac01f03e 100644 (file)
@@ -329,6 +329,7 @@ int rv_register_reactor(struct rv_reactor *reactor)
 int rv_unregister_reactor(struct rv_reactor *reactor)
 {
        struct rv_reactor_def *ptr, *next;
+       int ret = 0;
 
        mutex_lock(&rv_interface_lock);
 
@@ -343,13 +344,14 @@ int rv_unregister_reactor(struct rv_reactor *reactor)
                                       ptr->reactor->name, ptr->counter);
                                printk(KERN_WARNING "rv: the rv_reactor %s cannot be removed\n",
                                       ptr->reactor->name);
-                               return -EBUSY;
+                               ret = -EBUSY;
+                               break;
                        }
                }
        }
 
        mutex_unlock(&rv_interface_lock);
-       return 0;
+       return ret;
 }
 
 /*