* 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.