[dpdk-dev] [PATCH] vhost: fix build issue caused by unchecked returned values

Maxime Coquelin maxime.coquelin at redhat.com
Fri Mar 30 17:16:41 CEST 2018


This patch fixes below build issue seen with some compilers
or build options:

lib/librte_vhost/fd_man.c: In function ‘fdset_pipe_read_cb’:
lib/librte_vhost/fd_man.c:284:2: error: ignoring return value of ‘read’, declared with attribute warn_unused_result [-Werror=unused-result]
  read(readfd, charbuf, sizeof(charbuf));
  ^
lib/librte_vhost/fd_man.c: In function ‘fdset_pipe_notify’:
lib/librte_vhost/fd_man.c:324:2: error: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Werror=unused-result]
  write(fdset->u.writefd, "1", 1);
  ^

Reported-by: Andrew Rybchenko <arybchenko at solarflare.com>
Signed-off-by: Tonghao Zhang <xiangxia.m.yue at gmail.com>
Signed-off-by: Maxime Coquelin <maxime.coquelin at redhat.com>
---
 lib/librte_vhost/fd_man.c | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/lib/librte_vhost/fd_man.c b/lib/librte_vhost/fd_man.c
index ca1ba2622..1f9e22f96 100644
--- a/lib/librte_vhost/fd_man.c
+++ b/lib/librte_vhost/fd_man.c
@@ -281,7 +281,13 @@ fdset_pipe_read_cb(int readfd, void *dat __rte_unused,
 		   int *remove __rte_unused)
 {
 	char charbuf[16];
-	read(readfd, charbuf, sizeof(charbuf));
+	int r = read(readfd, charbuf, sizeof(charbuf));
+	/*
+	 * Just an optimization, we don't care if read() failed
+	 * so ignore explicitly its return value to make the
+	 * compiler happy
+	 */
+	RTE_SET_USED(r);
 }
 
 void
@@ -321,5 +327,12 @@ fdset_pipe_init(struct fdset *fdset)
 void
 fdset_pipe_notify(struct fdset *fdset)
 {
-	write(fdset->u.writefd, "1", 1);
+	int r = write(fdset->u.writefd, "1", 1);
+	/*
+	 * Just an optimization, we don't care if read() failed
+	 * so ignore explicitly its return value to make the
+	 * compiler happy
+	 */
+	RTE_SET_USED(r);
+
 }
-- 
2.14.3



More information about the dev mailing list