All of lore.kernel.org
 help / color / mirror / Atom feed
* FAILED: patch "[PATCH] drm/vmwgfx: Fix host logging / guestinfo reading error paths" failed to apply to 4.16-stable tree
@ 2018-05-26 13:10 gregkh
  2018-05-28 15:15 ` Thomas Hellstrom
  0 siblings, 1 reply; 3+ messages in thread
From: gregkh @ 2018-05-26 13:10 UTC (permalink / raw)
  To: thellstrom, brianp, stable, syeh; +Cc: stable


The patch below does not apply to the 4.16-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable@vger.kernel.org>.

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

>From f37230c0ad481091bc136788ff8b37dc86300c6d Mon Sep 17 00:00:00 2001
From: Thomas Hellstrom <thellstrom@vmware.com>
Date: Wed, 23 May 2018 16:13:20 +0200
Subject: [PATCH] drm/vmwgfx: Fix host logging / guestinfo reading error paths

The error paths were leaking opened channels.
Fix by using dedicated error paths.

Cc: <stable@vger.kernel.org>
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Sinclair Yeh <syeh@vmware.com>

diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_msg.c b/drivers/gpu/drm/vmwgfx/vmwgfx_msg.c
index cdff99211602..21d746bdc922 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_msg.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_msg.c
@@ -329,8 +329,6 @@ int vmw_host_get_guestinfo(const char *guest_info_param,
 	struct rpc_channel channel;
 	char *msg, *reply = NULL;
 	size_t reply_len = 0;
-	int ret = 0;
-
 
 	if (!vmw_msg_enabled)
 		return -ENODEV;
@@ -344,15 +342,14 @@ int vmw_host_get_guestinfo(const char *guest_info_param,
 		return -ENOMEM;
 	}
 
-	if (vmw_open_channel(&channel, RPCI_PROTOCOL_NUM) ||
-	    vmw_send_msg(&channel, msg) ||
-	    vmw_recv_msg(&channel, (void *) &reply, &reply_len) ||
-	    vmw_close_channel(&channel)) {
-		DRM_ERROR("Failed to get %s", guest_info_param);
+	if (vmw_open_channel(&channel, RPCI_PROTOCOL_NUM))
+		goto out_open;
 
-		ret = -EINVAL;
-	}
+	if (vmw_send_msg(&channel, msg) ||
+	    vmw_recv_msg(&channel, (void *) &reply, &reply_len))
+		goto out_msg;
 
+	vmw_close_channel(&channel);
 	if (buffer && reply && reply_len > 0) {
 		/* Remove reply code, which are the first 2 characters of
 		 * the reply
@@ -369,7 +366,17 @@ int vmw_host_get_guestinfo(const char *guest_info_param,
 	kfree(reply);
 	kfree(msg);
 
-	return ret;
+	return 0;
+
+out_msg:
+	vmw_close_channel(&channel);
+	kfree(reply);
+out_open:
+	*length = 0;
+	kfree(msg);
+	DRM_ERROR("Failed to get %s", guest_info_param);
+
+	return -EINVAL;
 }
 
 
@@ -400,15 +407,22 @@ int vmw_host_log(const char *log)
 		return -ENOMEM;
 	}
 
-	if (vmw_open_channel(&channel, RPCI_PROTOCOL_NUM) ||
-	    vmw_send_msg(&channel, msg) ||
-	    vmw_close_channel(&channel)) {
-		DRM_ERROR("Failed to send log\n");
+	if (vmw_open_channel(&channel, RPCI_PROTOCOL_NUM))
+		goto out_open;
 
-		ret = -EINVAL;
-	}
+	if (vmw_send_msg(&channel, msg))
+		goto out_msg;
 
+	vmw_close_channel(&channel);
 	kfree(msg);
 
-	return ret;
+	return 0;
+
+out_msg:
+	vmw_close_channel(&channel);
+out_open:
+	kfree(msg);
+	DRM_ERROR("Failed to send log\n");
+
+	return -EINVAL;
 }

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: FAILED: patch "[PATCH] drm/vmwgfx: Fix host logging / guestinfo reading error paths" failed to apply to 4.16-stable tree
  2018-05-26 13:10 FAILED: patch "[PATCH] drm/vmwgfx: Fix host logging / guestinfo reading error paths" failed to apply to 4.16-stable tree gregkh
@ 2018-05-28 15:15 ` Thomas Hellstrom
  2018-05-30  8:35   ` Greg KH
  0 siblings, 1 reply; 3+ messages in thread
From: Thomas Hellstrom @ 2018-05-28 15:15 UTC (permalink / raw)
  To: gregkh, brianp, stable, syeh

Hi,

On 05/26/2018 03:10 PM, gregkh@linuxfoundation.org wrote:
> The patch below does not apply to the 4.16-stable tree.
> If someone wants it applied there, or to any other stable or longterm
> tree, then please email the backport, including the original git commit
> id to <stable@vger.kernel.org>.
>
> thanks,
>
> greg k-h

The IMO best option is to cherry-pick commit

6073a09210e06 "drm/vmwgfx: Use kasprintf"
by Himanshu Jha. It doesn't fix anything but is small and makes the 
below patch apply cleanly.

Thanks,
Thomas

> ------------------ original commit in Linus's tree ------------------
>
>  From f37230c0ad481091bc136788ff8b37dc86300c6d Mon Sep 17 00:00:00 2001
> From: Thomas Hellstrom <thellstrom@vmware.com>
> Date: Wed, 23 May 2018 16:13:20 +0200
> Subject: [PATCH] drm/vmwgfx: Fix host logging / guestinfo reading error paths
>
> The error paths were leaking opened channels.
> Fix by using dedicated error paths.
>
> Cc: <stable@vger.kernel.org>
> Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
> Reviewed-by: Brian Paul <brianp@vmware.com>
> Reviewed-by: Sinclair Yeh <syeh@vmware.com>
>
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_msg.c b/drivers/gpu/drm/vmwgfx/vmwgfx_msg.c
> index cdff99211602..21d746bdc922 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_msg.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_msg.c
> @@ -329,8 +329,6 @@ int vmw_host_get_guestinfo(const char *guest_info_param,
>   	struct rpc_channel channel;
>   	char *msg, *reply = NULL;
>   	size_t reply_len = 0;
> -	int ret = 0;
> -
>   
>   	if (!vmw_msg_enabled)
>   		return -ENODEV;
> @@ -344,15 +342,14 @@ int vmw_host_get_guestinfo(const char *guest_info_param,
>   		return -ENOMEM;
>   	}
>   
> -	if (vmw_open_channel(&channel, RPCI_PROTOCOL_NUM) ||
> -	    vmw_send_msg(&channel, msg) ||
> -	    vmw_recv_msg(&channel, (void *) &reply, &reply_len) ||
> -	    vmw_close_channel(&channel)) {
> -		DRM_ERROR("Failed to get %s", guest_info_param);
> +	if (vmw_open_channel(&channel, RPCI_PROTOCOL_NUM))
> +		goto out_open;
>   
> -		ret = -EINVAL;
> -	}
> +	if (vmw_send_msg(&channel, msg) ||
> +	    vmw_recv_msg(&channel, (void *) &reply, &reply_len))
> +		goto out_msg;
>   
> +	vmw_close_channel(&channel);
>   	if (buffer && reply && reply_len > 0) {
>   		/* Remove reply code, which are the first 2 characters of
>   		 * the reply
> @@ -369,7 +366,17 @@ int vmw_host_get_guestinfo(const char *guest_info_param,
>   	kfree(reply);
>   	kfree(msg);
>   
> -	return ret;
> +	return 0;
> +
> +out_msg:
> +	vmw_close_channel(&channel);
> +	kfree(reply);
> +out_open:
> +	*length = 0;
> +	kfree(msg);
> +	DRM_ERROR("Failed to get %s", guest_info_param);
> +
> +	return -EINVAL;
>   }
>   
>   
> @@ -400,15 +407,22 @@ int vmw_host_log(const char *log)
>   		return -ENOMEM;
>   	}
>   
> -	if (vmw_open_channel(&channel, RPCI_PROTOCOL_NUM) ||
> -	    vmw_send_msg(&channel, msg) ||
> -	    vmw_close_channel(&channel)) {
> -		DRM_ERROR("Failed to send log\n");
> +	if (vmw_open_channel(&channel, RPCI_PROTOCOL_NUM))
> +		goto out_open;
>   
> -		ret = -EINVAL;
> -	}
> +	if (vmw_send_msg(&channel, msg))
> +		goto out_msg;
>   
> +	vmw_close_channel(&channel);
>   	kfree(msg);
>   
> -	return ret;
> +	return 0;
> +
> +out_msg:
> +	vmw_close_channel(&channel);
> +out_open:
> +	kfree(msg);
> +	DRM_ERROR("Failed to send log\n");
> +
> +	return -EINVAL;
>   }
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: FAILED: patch "[PATCH] drm/vmwgfx: Fix host logging / guestinfo reading error paths" failed to apply to 4.16-stable tree
  2018-05-28 15:15 ` Thomas Hellstrom
@ 2018-05-30  8:35   ` Greg KH
  0 siblings, 0 replies; 3+ messages in thread
From: Greg KH @ 2018-05-30  8:35 UTC (permalink / raw)
  To: Thomas Hellstrom; +Cc: brianp, stable, syeh

On Mon, May 28, 2018 at 05:15:37PM +0200, Thomas Hellstrom wrote:
> Hi,
> 
> On 05/26/2018 03:10 PM, gregkh@linuxfoundation.org wrote:
> > The patch below does not apply to the 4.16-stable tree.
> > If someone wants it applied there, or to any other stable or longterm
> > tree, then please email the backport, including the original git commit
> > id to <stable@vger.kernel.org>.
> > 
> > thanks,
> > 
> > greg k-h
> 
> The IMO best option is to cherry-pick commit
> 
> 6073a09210e06 "drm/vmwgfx: Use kasprintf"
> by Himanshu Jha. It doesn't fix anything but is small and makes the below
> patch apply cleanly.

That worked, thanks!

greg k-h

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-05-30  8:35 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-26 13:10 FAILED: patch "[PATCH] drm/vmwgfx: Fix host logging / guestinfo reading error paths" failed to apply to 4.16-stable tree gregkh
2018-05-28 15:15 ` Thomas Hellstrom
2018-05-30  8:35   ` Greg KH

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.