[dpdk-stable] patch 'vhost: do not treat empty socket message as error' has been queued to LTS release 18.11.7

Kevin Traynor ktraynor at redhat.com
Fri Feb 14 18:03:26 CET 2020


Hi,

FYI, your patch has been queued to LTS release 18.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/20/20. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/51c2aa612ee8b59ca0d4cd92303f1d58e470cc5c

Thanks.

Kevin.

---
>From 51c2aa612ee8b59ca0d4cd92303f1d58e470cc5c Mon Sep 17 00:00:00 2001
From: Vitaliy Mysak <vitaliy.mysak at intel.com>
Date: Thu, 30 Jan 2020 09:05:39 +0100
Subject: [PATCH] vhost: do not treat empty socket message as error

[ upstream commit bedf87c521902d1caeb0974fe9d3344584b849b5 ]

According to recvmsg() specification, 0 is a valid
return code when client is disconnecting.
Therefore, it should not be reported as error, unless there
are other dependencies that require message to not be empty.
But there are none, since the next immediate caller of recvmsg()
reports "vhost peer closed" info (not error) when message is empty.

This patch changes return code check for recvmsg() so that
misleading error message is not printed when the code is 0.

Fixes: 8f972312b8f4 ("vhost: support vhost-user")

Signed-off-by: Vitaliy Mysak <vitaliy.mysak at intel.com>
Reviewed-by: Tiwei Bie <tiwei.bie at intel.com>
---
 lib/librte_vhost/socket.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/librte_vhost/socket.c b/lib/librte_vhost/socket.c
index 6a57b27ec0..75f6703f56 100644
--- a/lib/librte_vhost/socket.c
+++ b/lib/librte_vhost/socket.c
@@ -126,5 +126,6 @@ read_fd_message(int sockfd, char *buf, int buflen, int *fds, int max_fds,
 	ret = recvmsg(sockfd, &msgh, 0);
 	if (ret <= 0) {
-		RTE_LOG(ERR, VHOST_CONFIG, "recvmsg failed\n");
+		if (ret)
+			RTE_LOG(ERR, VHOST_CONFIG, "recvmsg failed\n");
 		return ret;
 	}
-- 
2.21.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-02-14 17:02:38.848267063 +0000
+++ 0032-vhost-do-not-treat-empty-socket-message-as-error.patch	2020-02-14 17:02:37.042406039 +0000
@@ -1 +1 @@
-From bedf87c521902d1caeb0974fe9d3344584b849b5 Mon Sep 17 00:00:00 2001
+From 51c2aa612ee8b59ca0d4cd92303f1d58e470cc5c Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit bedf87c521902d1caeb0974fe9d3344584b849b5 ]
+
@@ -17 +18,0 @@
-Cc: stable at dpdk.org
@@ -26 +27 @@
-index 85c64485c2..7c80121790 100644
+index 6a57b27ec0..75f6703f56 100644
@@ -29 +30 @@
-@@ -128,5 +128,6 @@ read_fd_message(int sockfd, char *buf, int buflen, int *fds, int max_fds,
+@@ -126,5 +126,6 @@ read_fd_message(int sockfd, char *buf, int buflen, int *fds, int max_fds,
@@ -32 +33 @@
--		VHOST_LOG_CONFIG(ERR, "recvmsg failed\n");
+-		RTE_LOG(ERR, VHOST_CONFIG, "recvmsg failed\n");
@@ -34 +35 @@
-+			VHOST_LOG_CONFIG(ERR, "recvmsg failed\n");
++			RTE_LOG(ERR, VHOST_CONFIG, "recvmsg failed\n");



More information about the stable mailing list