2019-06-15 05:02:40

by Dexuan Cui

[permalink] [raw]
Subject: [PATCH net] hv_sock: Suppress bogus "may be used uninitialized" warnings

gcc 8.2.0 may report these bogus warnings under some condition:

warning: ‘vnew’ may be used uninitialized in this function
warning: ‘hvs_new’ may be used uninitialized in this function

Actually, the 2 pointers are only initialized and used if the variable
"conn_from_host" is true. The code is not buggy here.

Signed-off-by: Dexuan Cui <[email protected]>
---
net/vmw_vsock/hyperv_transport.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/vmw_vsock/hyperv_transport.c b/net/vmw_vsock/hyperv_transport.c
index 8d1ea9eda8a2..cd3f47f54fa7 100644
--- a/net/vmw_vsock/hyperv_transport.c
+++ b/net/vmw_vsock/hyperv_transport.c
@@ -329,8 +329,8 @@ static void hvs_open_connection(struct vmbus_channel *chan)

struct sockaddr_vm addr;
struct sock *sk, *new = NULL;
- struct vsock_sock *vnew;
- struct hvsock *hvs, *hvs_new;
+ struct vsock_sock *vnew = NULL;
+ struct hvsock *hvs, *hvs_new = NULL;
int ret;

if_type = &chan->offermsg.offer.if_type;
--
2.19.1


2019-06-15 07:19:59

by Sunil Muthuswamy

[permalink] [raw]
Subject: RE: [PATCH net] hv_sock: Suppress bogus "may be used uninitialized" warnings



> -----Original Message-----
> From: [email protected] <[email protected]> On Behalf Of Dexuan Cui
> Sent: Friday, June 14, 2019 10:01 PM
> To: [email protected]; [email protected]; Michael Kelley <[email protected]>
> Cc: [email protected]; [email protected]; KY Srinivasan <[email protected]>; Stephen Hemminger
> <[email protected]>; Haiyang Zhang <[email protected]>; Sasha Levin <[email protected]>;
> [email protected]; [email protected]; [email protected]; vkuznets <[email protected]>; [email protected];
> Dexuan Cui <[email protected]>
> Subject: [PATCH net] hv_sock: Suppress bogus "may be used uninitialized" warnings
>
> gcc 8.2.0 may report these bogus warnings under some condition:
>
> warning: ‘vnew’ may be used uninitialized in this function
> warning: ‘hvs_new’ may be used uninitialized in this function
>
> Actually, the 2 pointers are only initialized and used if the variable
> "conn_from_host" is true. The code is not buggy here.
>
> Signed-off-by: Dexuan Cui <[email protected]>
> ---
> net/vmw_vsock/hyperv_transport.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/net/vmw_vsock/hyperv_transport.c b/net/vmw_vsock/hyperv_transport.c
> index 8d1ea9eda8a2..cd3f47f54fa7 100644
> --- a/net/vmw_vsock/hyperv_transport.c
> +++ b/net/vmw_vsock/hyperv_transport.c
> @@ -329,8 +329,8 @@ static void hvs_open_connection(struct vmbus_channel *chan)
>
> struct sockaddr_vm addr;
> struct sock *sk, *new = NULL;
> - struct vsock_sock *vnew;
> - struct hvsock *hvs, *hvs_new;
> + struct vsock_sock *vnew = NULL;
> + struct hvsock *hvs, *hvs_new = NULL;
> int ret;
>
These are all already fixed under
https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git/commit/?id=ac383f58f3c98de37fa67452acc5bd677396e9f3
Its just that that commit hasn't merged with the 'net' branch yet.
> if_type = &chan->offermsg.offer.if_type;
> --
> 2.19.1

2019-06-16 21:01:31

by David Miller

[permalink] [raw]
Subject: Re: [PATCH net] hv_sock: Suppress bogus "may be used uninitialized" warnings

From: Dexuan Cui <[email protected]>
Date: Sat, 15 Jun 2019 05:00:57 +0000

> gcc 8.2.0 may report these bogus warnings under some condition:
>
> warning: ?vnew? may be used uninitialized in this function
> warning: ?hvs_new? may be used uninitialized in this function
>
> Actually, the 2 pointers are only initialized and used if the variable
> "conn_from_host" is true. The code is not buggy here.
>
> Signed-off-by: Dexuan Cui <[email protected]>

Applied.