Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1455343 > unrolled thread

Re: [PATCH] infiniband: shut up a maybe-uninitialized warning

Started byDoug Ledford <dledford@redhat.com>
First post2016-08-02 20:30 +0200
Last post2016-08-02 22:20 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH] infiniband: shut up a maybe-uninitialized warning Doug Ledford <dledford@redhat.com> - 2016-08-02 20:30 +0200
    Re: [PATCH] infiniband: shut up a maybe-uninitialized warning Arnd Bergmann <arnd@arndb.de> - 2016-08-02 22:20 +0200

#1455343 — Re: [PATCH] infiniband: shut up a maybe-uninitialized warning

FromDoug Ledford <dledford@redhat.com>
Date2016-08-02 20:30 +0200
SubjectRe: [PATCH] infiniband: shut up a maybe-uninitialized warning
Message-ID<s1MBZ-8c3-67@gated-at.bofh.it>

[Multipart message — attachments visible in raw view] — view raw

On Mon, 2016-07-04 at 17:06 +0200, Arnd Bergmann wrote:
> The powerpc64 default configuration leads to warnings for the
> infiniband
> core code:
> 
> infiniband/core/cma.c: In function 'cma_get_net_dev':
> infiniband/core/cma.c:1242:12: warning:
> 'src_addr_storage.sin_addr.s_addr' may be used uninitialized in this
> function [-Wmaybe-uninitialized]
> 
> The code looks correct to me, and I don't see the warnings on the
> other architectures, so this is a dumb change to add an unneeded
> initialization to the variables in order to shut up the warning.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Link: http://arm-soc.lixom.net/buildlogs/mainline/v4.7-
> rc6/buildall.powerpc.ppc64_defconfig.log.passed

I thought about taking this, but I also looked over the code and it
looks correct to me.  This is a semi-hot path in the connection bring
up code, so I'm loathe to put in sizeof(struct sockaddr_storage) * 2 of
needless memory writes.  So, I dropped this patch.  Hopefully, ppc64
compiler will straighten its warnings out soon.

> ---
>  drivers/infiniband/core/cma.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/infiniband/core/cma.c
> b/drivers/infiniband/core/cma.c
> index a3c9930f1f93..924ac237310b 100644
> --- a/drivers/infiniband/core/cma.c
> +++ b/drivers/infiniband/core/cma.c
> @@ -1309,7 +1309,7 @@ static bool validate_net_dev(struct net_device
> *net_dev,
>  static struct net_device *cma_get_net_dev(struct ib_cm_event
> *ib_event,
>  					  const struct cma_req_info
> *req)
>  {
> -	struct sockaddr_storage listen_addr_storage,
> src_addr_storage;
> +	struct sockaddr_storage listen_addr_storage = {},
> src_addr_storage = {};
>  	struct sockaddr *listen_addr = (struct sockaddr
> *)&listen_addr_storage,
>  			*src_addr = (struct sockaddr
> *)&src_addr_storage;
>  	struct net_device *net_dev;

-- 
Doug Ledford <dledford@redhat.com>
              GPG KeyID: 0E572FDD

[toc] | [next] | [standalone]


#1455446

FromArnd Bergmann <arnd@arndb.de>
Date2016-08-02 22:20 +0200
Message-ID<s1Okq-10b-7@gated-at.bofh.it>
In reply to#1455343
On Tuesday, August 2, 2016 1:45:25 PM CEST Doug Ledford wrote:
> On Mon, 2016-07-04 at 17:06 +0200, Arnd Bergmann wrote:
> > The powerpc64 default configuration leads to warnings for the
> > infiniband
> > core code:
> > 
> > infiniband/core/cma.c: In function 'cma_get_net_dev':
> > infiniband/core/cma.c:1242:12: warning:
> > 'src_addr_storage.sin_addr.s_addr' may be used uninitialized in this
> > function [-Wmaybe-uninitialized]
> > 
> > The code looks correct to me, and I don't see the warnings on the
> > other architectures, so this is a dumb change to add an unneeded
> > initialization to the variables in order to shut up the warning.
> > 
> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> > Link: http://arm-soc.lixom.net/buildlogs/mainline/v4.7-
> > rc6/buildall.powerpc.ppc64_defconfig.log.passed
> 
> I thought about taking this, but I also looked over the code and it
> looks correct to me.  This is a semi-hot path in the connection bring
> up code, so I'm loathe to put in sizeof(struct sockaddr_storage) * 2 of
> needless memory writes.  So, I dropped this patch.  Hopefully, ppc64
> compiler will straighten its warnings out soon.

Ok, no worries. Linus just disabled the warning tree-wide for
all compilers, so it's gone from the autobuilder, and newer gcc
versions (4.9 or higher) should be fine too, even if someone
enables the warning manually or by passing W=1.

Thanks for having a look,

	Arnd

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web