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

Andrew Rybchenko arybchenko at solarflare.com
Fri Mar 30 17:18:44 CEST 2018


On 03/30/2018 06:16 PM, Maxime Coquelin wrote:
> 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

read() -> write()

> +	 * so ignore explicitly its return value to make the
> +	 * compiler happy
> +	 */
> +	RTE_SET_USED(r);
> +
>   }



More information about the dev mailing list