diff options
author | Dan Carpenter <dan.carpenter@oracle.com> | 2022-08-04 17:33:48 +0300 |
---|---|---|
committer | Steven Rostedt (Google) <rostedt@goodmis.org> | 2022-08-04 22:49:17 -0400 |
commit | f1a15b977ff864513133ecb611eb28603d32c1b4 (patch) | |
tree | 15f0bd3ef498c7ef1fbd14b953325c32188c6b86 | |
parent | 09794a5a6c348f629b35fc1687071a1622ef4265 (diff) | |
download | lwn-f1a15b977ff864513133ecb611eb28603d32c1b4.tar.gz lwn-f1a15b977ff864513133ecb611eb28603d32c1b4.zip |
rv: Unlock on error path in rv_unregister_reactor()
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>
-rw-r--r-- | kernel/trace/rv/rv_reactors.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/kernel/trace/rv/rv_reactors.c b/kernel/trace/rv/rv_reactors.c index a6522c196382..6aae106695b6 100644 --- a/kernel/trace/rv/rv_reactors.c +++ b/kernel/trace/rv/rv_reactors.c @@ -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; } /* |