2018-06-05 09:12:22

by Wei Yongjun

[permalink] [raw]
Subject: [PATCH -next] ocxl: Fix missing unlock on error in afu_ioctl_enable_p9_wait()

Add the missing unlock before return from function
afu_ioctl_enable_p9_wait() in the error handling case.

Fixes: e948e06fc63a ("ocxl: Expose the thread_id needed for wait on POWER9")
Signed-off-by: Wei Yongjun <[email protected]>
---
drivers/misc/ocxl/file.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/misc/ocxl/file.c b/drivers/misc/ocxl/file.c
index 33ae46c..e6a6074 100644
--- a/drivers/misc/ocxl/file.c
+++ b/drivers/misc/ocxl/file.c
@@ -139,8 +139,10 @@ static long afu_ioctl_enable_p9_wait(struct ocxl_context *ctx,
// Locks both status & tidr
mutex_lock(&ctx->status_mutex);
if (!ctx->tidr) {
- if (set_thread_tidr(current))
+ if (set_thread_tidr(current)) {
+ mutex_unlock(&ctx->status_mutex);
return -ENOENT;
+ }

ctx->tidr = current->thread.tidr;
}



2018-06-05 09:43:37

by Alastair D'Silva

[permalink] [raw]
Subject: RE: [PATCH -next] ocxl: Fix missing unlock on error in afu_ioctl_enable_p9_wait()

> -----Original Message-----
> From: Wei Yongjun <[email protected]>
> Sent: Tuesday, 5 June 2018 7:16 PM
> To: Frederic Barrat <[email protected]>; Andrew Donnellan
> <[email protected]>; Arnd Bergmann <[email protected]>;
> Greg Kroah-Hartman <[email protected]>; Alastair D'Silva
> <[email protected]>
> Cc: Wei Yongjun <[email protected]>; linuxppc-
> [email protected]; [email protected]; kernel-
> [email protected]
> Subject: [PATCH -next] ocxl: Fix missing unlock on error in
> afu_ioctl_enable_p9_wait()
>
> Add the missing unlock before return from function
> afu_ioctl_enable_p9_wait() in the error handling case.
>
> Fixes: e948e06fc63a ("ocxl: Expose the thread_id needed for wait on
> POWER9")
> Signed-off-by: Wei Yongjun <[email protected]>
> ---
> drivers/misc/ocxl/file.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/misc/ocxl/file.c b/drivers/misc/ocxl/file.c index
> 33ae46c..e6a6074 100644
> --- a/drivers/misc/ocxl/file.c
> +++ b/drivers/misc/ocxl/file.c
> @@ -139,8 +139,10 @@ static long afu_ioctl_enable_p9_wait(struct
> ocxl_context *ctx,
> // Locks both status & tidr
> mutex_lock(&ctx->status_mutex);
> if (!ctx->tidr) {
> - if (set_thread_tidr(current))
> + if (set_thread_tidr(current)) {
> + mutex_unlock(&ctx->status_mutex);
> return -ENOENT;
> + }
>
> ctx->tidr = current->thread.tidr;
> }


Thanks for picking that up!

Reviewed-by: Alastair D'Silva <[email protected]>

--
Alastair D'Silva mob: 0423 762 819
skype: alastair_dsilva msn: [email protected]
blog: http://alastair.d-silva.org Twitter: @EvilDeece



2018-06-05 12:58:02

by Frederic Barrat

[permalink] [raw]
Subject: Re: [PATCH -next] ocxl: Fix missing unlock on error in afu_ioctl_enable_p9_wait()



Le 05/06/2018 à 11:16, Wei Yongjun a écrit :
> Add the missing unlock before return from function
> afu_ioctl_enable_p9_wait() in the error handling case.
>
> Fixes: e948e06fc63a ("ocxl: Expose the thread_id needed for wait on POWER9")
> Signed-off-by: Wei Yongjun <[email protected]>
> ---
> drivers/misc/ocxl/file.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/misc/ocxl/file.c b/drivers/misc/ocxl/file.c
> index 33ae46c..e6a6074 100644
> --- a/drivers/misc/ocxl/file.c
> +++ b/drivers/misc/ocxl/file.c
> @@ -139,8 +139,10 @@ static long afu_ioctl_enable_p9_wait(struct ocxl_context *ctx,
> // Locks both status & tidr
> mutex_lock(&ctx->status_mutex);
> if (!ctx->tidr) {
> - if (set_thread_tidr(current))
> + if (set_thread_tidr(current)) {
> + mutex_unlock(&ctx->status_mutex);
> return -ENOENT;
> + }

O_o Thanks for fixing it

Acked-by: Frederic Barrat <[email protected]>


> ctx->tidr = current->thread.tidr;
> }
>


2018-06-05 15:20:45

by Michael Ellerman

[permalink] [raw]
Subject: Re: [-next] ocxl: Fix missing unlock on error in afu_ioctl_enable_p9_wait()

On Tue, 2018-06-05 at 09:16:21 UTC, Wei Yongjun wrote:
> Add the missing unlock before return from function
> afu_ioctl_enable_p9_wait() in the error handling case.
>
> Fixes: e948e06fc63a ("ocxl: Expose the thread_id needed for wait on POWER9")
> Signed-off-by: Wei Yongjun <[email protected]>
> Reviewed-by: Alastair D'Silva <[email protected]>

Applied to powerpc next, thanks.

https://git.kernel.org/powerpc/c/2e5c93d6bb2f7bc17eb82748943a1b

cheers