Re: [PATCH] platform/surface: dtx: Add missing mutex_destroy() call in failure path

From: Hans de Goede
Date: Fri Jun 04 2021 - 15:58:47 EST


Hi,

On 6/4/21 3:25 PM, Maximilian Luz wrote:
> When we fail to open the device file due to DTX being shut down, the
> mutex is initialized but never destroyed. We are destroying it when
> releasing the file, so add the missing call in the failure path as well.
>
> Fixes: 1d609992832e ("platform/surface: Add DTX driver")
> Signed-off-by: Maximilian Luz <luzmaximilian@xxxxxxxxx>

Thank you for your patch, I've applied this patch to my review-hans
branch:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=review-hans

I'll also add this to the fixes branch, so that it gets included
in my next pull-req to Linus for 5.13.

Note it will show up in my review-hans branch once I've pushed my
local branch there, which might take a while.

Once I've run some tests on this branch the patches there will be
added to the platform-drivers-x86/for-next branch and eventually
will be included in the pdx86 pull-request to Linus for the next
merge-window.

Regards,

Hans

> ---
> drivers/platform/surface/surface_dtx.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/platform/surface/surface_dtx.c b/drivers/platform/surface/surface_dtx.c
> index 5d9b758a99bb..1203b9a82993 100644
> --- a/drivers/platform/surface/surface_dtx.c
> +++ b/drivers/platform/surface/surface_dtx.c
> @@ -427,6 +427,7 @@ static int surface_dtx_open(struct inode *inode, struct file *file)
> */
> if (test_bit(SDTX_DEVICE_SHUTDOWN_BIT, &ddev->flags)) {
> up_write(&ddev->client_lock);
> + mutex_destroy(&client->read_lock);
> sdtx_device_put(client->ddev);
> kfree(client);
> return -ENODEV;
>