Messages in this thread | | | Date | Tue, 25 Oct 2022 11:30:16 +0200 | From | Nam Cao <> | Subject | Re: [PATCH] nvme-tcp: replace sg_init_marker() with sg_init_table() |
| |
On Tue, Oct 25, 2022 at 12:58:41AM +0000, Chaitanya Kulkarni wrote: > On 10/22/22 10:46, Nam Cao wrote: > > In nvme_tcp_ddgst_update(), sg_init_marker() is called with an > > uninitialized scatterlist. This is probably fine, but gcc complains: > > > > CC [M] drivers/nvme/host/tcp.o > > In file included from ./include/linux/dma-mapping.h:10, > > from ./include/linux/skbuff.h:31, > > from ./include/net/net_namespace.h:43, > > from ./include/linux/netdevice.h:38, > > from ./include/net/sock.h:46, > > from drivers/nvme/host/tcp.c:12: > > In function ‘sg_mark_end’, > > inlined from ‘sg_init_marker’ at ./include/linux/scatterlist.h:356:2, > > inlined from ‘nvme_tcp_ddgst_update’ at drivers/nvme/host/tcp.c:390:2: > > ./include/linux/scatterlist.h:234:11: error: ‘sg.page_link’ is used uninitialized [-Werror=uninitialized] > > 234 | sg->page_link |= SG_END; > > | ~~^~~~~~~~~~~ > > drivers/nvme/host/tcp.c: In function ‘nvme_tcp_ddgst_update’: > > drivers/nvme/host/tcp.c:388:28: note: ‘sg’ declared here > > 388 | struct scatterlist sg; > > | ^~ > > cc1: all warnings being treated as errors > > > > Use sg_init_table() instead, which basically memset the scatterlist to > > zero first before calling sg_init_marker(). > > > > Signed-off-by: Nam Cao <namcaov@gmail.com> > > Looks good to me, can you please share what version if gcc you are > using ? my test setup did not catch this error and I'd like to update > with the one that can catch these errors.
It was just gcc12. But strange enough I cannot trigger this error again. I was doing randconfig test build. Probably only a specific combination of configs that can allow gcc to detect this...
And sorry but I was just start doing randconfig test and didn't think about saving that .config file.
Best regards, Nam
| |