2019-04-02 08:44:58

by Daniel Walter

[permalink] [raw]
Subject: [PATCH] um: Do not unlock mutex that is not hold.

Return error instead of trying to unlock a mutex that is not hold.

Signed-off-by: Daniel Walter <[email protected]>
---
arch/um/drivers/ubd_kern.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/um/drivers/ubd_kern.c b/arch/um/drivers/ubd_kern.c
index aca09be2373e..33c1cd6a12ac 100644
--- a/arch/um/drivers/ubd_kern.c
+++ b/arch/um/drivers/ubd_kern.c
@@ -276,14 +276,14 @@ static int ubd_setup_common(char *str, int *index_out, char **error_out)
str++;
if(!strcmp(str, "sync")){
global_openflags = of_sync(global_openflags);
- goto out1;
+ return err;
}

err = -EINVAL;
major = simple_strtoul(str, &end, 0);
if((*end != '\0') || (end == str)){
*error_out = "Didn't parse major number";
- goto out1;
+ return err;
}

mutex_lock(&ubd_lock);
--
2.21.0.392.gf8f6787159e-goog


2019-04-05 17:03:43

by Anton Ivanov

[permalink] [raw]
Subject: Re: [PATCH] um: Do not unlock mutex that is not hold.



On 02/04/2019 09:43, Daniel Walter wrote:
> Return error instead of trying to unlock a mutex that is not hold.
>
> Signed-off-by: Daniel Walter <[email protected]>
> ---
> arch/um/drivers/ubd_kern.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/um/drivers/ubd_kern.c b/arch/um/drivers/ubd_kern.c
> index aca09be2373e..33c1cd6a12ac 100644
> --- a/arch/um/drivers/ubd_kern.c
> +++ b/arch/um/drivers/ubd_kern.c
> @@ -276,14 +276,14 @@ static int ubd_setup_common(char *str, int *index_out, char **error_out)
> str++;
> if(!strcmp(str, "sync")){
> global_openflags = of_sync(global_openflags);
> - goto out1;
> + return err;
> }
>
> err = -EINVAL;
> major = simple_strtoul(str, &end, 0);
> if((*end != '\0') || (end == str)){
> *error_out = "Didn't parse major number";
> - goto out1;
> + return err;
> }
>
> mutex_lock(&ubd_lock);
>

Reviewed-by: Anton Ivanov <[email protected]>
Acked-by: Anton Ivanov <[email protected]>

--
Anton R. Ivanov
https://www.kot-begemot.co.uk/