* FAILED: patch "[PATCH] Drivers: hv: kvp: Fix the recent regression caused by" failed to apply to 4.19-stable tree
@ 2018-11-26 7:40 gregkh
2018-11-26 7:52 ` Sasha Levin
0 siblings, 1 reply; 3+ messages in thread
From: gregkh @ 2018-11-26 7:40 UTC (permalink / raw)
To: decui, Stable, gregkh, haiyangz, kys, sthemmin; +Cc: stable
The patch below does not apply to the 4.19-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 e670de54c813b5bc3672dd1c67871dc60e9206f4 Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui@microsoft.com>
Date: Thu, 18 Oct 2018 05:09:30 +0000
Subject: [PATCH] Drivers: hv: kvp: Fix the recent regression caused by
incorrect clean-up
In kvp_send_key(), we do need call process_ib_ipinfo() if
message->kvp_hdr.operation is KVP_OP_GET_IP_INFO, because it turns out
the userland hv_kvp_daemon needs the info of operation, adapter_id and
addr_family. With the incorrect fc62c3b1977d, the host can't get the
VM's IP via KVP.
And, fc62c3b1977d added a "break;", but actually forgot to initialize
the key_size/value in the case of KVP_OP_SET, so the default key_size of
0 is passed to the kvp daemon, and the pool files
/var/lib/hyperv/.kvp_pool_* can't be updated.
This patch effectively rolls back the previous fc62c3b1977d, and
correctly fixes the "this statement may fall through" warnings.
This patch is tested on WS 2012 R2 and 2016.
Fixes: fc62c3b1977d ("Drivers: hv: kvp: Fix two "this statement may fall through" warnings")
Signed-off-by: Dexuan Cui <decui@microsoft.com>
Cc: K. Y. Srinivasan <kys@microsoft.com>
Cc: Stephen Hemminger <sthemmin@microsoft.com>
Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Cc: <Stable@vger.kernel.org>
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
diff --git a/drivers/hv/hv_kvp.c b/drivers/hv/hv_kvp.c
index a7513a8a8e37..d6106e1a0d4a 100644
--- a/drivers/hv/hv_kvp.c
+++ b/drivers/hv/hv_kvp.c
@@ -353,6 +353,9 @@ static void process_ib_ipinfo(void *in_msg, void *out_msg, int op)
out->body.kvp_ip_val.dhcp_enabled = in->kvp_ip_val.dhcp_enabled;
+ /* fallthrough */
+
+ case KVP_OP_GET_IP_INFO:
utf16s_to_utf8s((wchar_t *)in->kvp_ip_val.adapter_id,
MAX_ADAPTER_ID_SIZE,
UTF16_LITTLE_ENDIAN,
@@ -405,7 +408,11 @@ kvp_send_key(struct work_struct *dummy)
process_ib_ipinfo(in_msg, message, KVP_OP_SET_IP_INFO);
break;
case KVP_OP_GET_IP_INFO:
- /* We only need to pass on message->kvp_hdr.operation. */
+ /*
+ * We only need to pass on the info of operation, adapter_id
+ * and addr_family to the userland kvp daemon.
+ */
+ process_ib_ipinfo(in_msg, message, KVP_OP_GET_IP_INFO);
break;
case KVP_OP_SET:
switch (in_msg->body.kvp_set.data.value_type) {
@@ -446,9 +453,9 @@ kvp_send_key(struct work_struct *dummy)
}
- break;
-
- case KVP_OP_GET:
+ /*
+ * The key is always a string - utf16 encoding.
+ */
message->body.kvp_set.data.key_size =
utf16s_to_utf8s(
(wchar_t *)in_msg->body.kvp_set.data.key,
@@ -456,6 +463,17 @@ kvp_send_key(struct work_struct *dummy)
UTF16_LITTLE_ENDIAN,
message->body.kvp_set.data.key,
HV_KVP_EXCHANGE_MAX_KEY_SIZE - 1) + 1;
+
+ break;
+
+ case KVP_OP_GET:
+ message->body.kvp_get.data.key_size =
+ utf16s_to_utf8s(
+ (wchar_t *)in_msg->body.kvp_get.data.key,
+ in_msg->body.kvp_get.data.key_size,
+ UTF16_LITTLE_ENDIAN,
+ message->body.kvp_get.data.key,
+ HV_KVP_EXCHANGE_MAX_KEY_SIZE - 1) + 1;
break;
case KVP_OP_DELETE:
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: FAILED: patch "[PATCH] Drivers: hv: kvp: Fix the recent regression caused by" failed to apply to 4.19-stable tree
2018-11-26 7:40 FAILED: patch "[PATCH] Drivers: hv: kvp: Fix the recent regression caused by" failed to apply to 4.19-stable tree gregkh
@ 2018-11-26 7:52 ` Sasha Levin
[not found] ` <20181126075708.GA29540@kroah.com>
0 siblings, 1 reply; 3+ messages in thread
From: Sasha Levin @ 2018-11-26 7:52 UTC (permalink / raw)
To: gregkh; +Cc: decui, Stable, haiyangz, kys, sthemmin
On Mon, Nov 26, 2018 at 08:40:09AM +0100, gregkh@linuxfoundation.org wrote:
>
>The patch below does not apply to the 4.19-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 e670de54c813b5bc3672dd1c67871dc60e9206f4 Mon Sep 17 00:00:00 2001
>From: Dexuan Cui <decui@microsoft.com>
>Date: Thu, 18 Oct 2018 05:09:30 +0000
>Subject: [PATCH] Drivers: hv: kvp: Fix the recent regression caused by
> incorrect clean-up
>
>In kvp_send_key(), we do need call process_ib_ipinfo() if
>message->kvp_hdr.operation is KVP_OP_GET_IP_INFO, because it turns out
>the userland hv_kvp_daemon needs the info of operation, adapter_id and
>addr_family. With the incorrect fc62c3b1977d, the host can't get the
>VM's IP via KVP.
>
>And, fc62c3b1977d added a "break;", but actually forgot to initialize
>the key_size/value in the case of KVP_OP_SET, so the default key_size of
>0 is passed to the kvp daemon, and the pool files
>/var/lib/hyperv/.kvp_pool_* can't be updated.
>
>This patch effectively rolls back the previous fc62c3b1977d, and
>correctly fixes the "this statement may fall through" warnings.
>
>This patch is tested on WS 2012 R2 and 2016.
>
>Fixes: fc62c3b1977d ("Drivers: hv: kvp: Fix two "this statement may fall through" warnings")
>Signed-off-by: Dexuan Cui <decui@microsoft.com>
>Cc: K. Y. Srinivasan <kys@microsoft.com>
>Cc: Stephen Hemminger <sthemmin@microsoft.com>
>Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
>Cc: <Stable@vger.kernel.org>
>Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
>Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Hi Greg,
I think that your scripts need a little tweak to ignore stable tagged
commits where the commit they fix isn't in any of the stable trees. For
example, this commit fixes a bug that was introduced in 4.20 so it
doesn't actually apply to any of the stable trees even though it was
tagged for stable.
You can argue that it shouldn't have been tagged for stable to begin
with, but I think that we should encourage stable tags with
corresponding "Fixes:" tags since that since authors and maintainers
don't necessarily know when a patch will be merged, and it's possible
that this patch would have been merged in the next release, thus making
it stable material.
--
Thanks,
Sasha
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2018-11-26 8:16 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-26 7:40 FAILED: patch "[PATCH] Drivers: hv: kvp: Fix the recent regression caused by" failed to apply to 4.19-stable tree gregkh
2018-11-26 7:52 ` Sasha Levin
[not found] ` <20181126075708.GA29540@kroah.com>
2018-11-26 8:16 ` Sasha Levin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox