Message ID | 20160704150659.2883024-1-arnd@arndb.de (mailing list archive) |
---|---|
State | Rejected |
Headers | show |
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;
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 -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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;
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 --- drivers/infiniband/core/cma.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)