From: Arnd Bergmann <arnd@arndb.de>
When CONFIG_IPV6 is disabled, clang complains that a variable
is uninitialized for non-IPv4 data:
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c:1046:6: error: variable 'cntrl1' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
if (tx_info->ip_family == AF_INET) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c:1059:2: note: uninitialized use occurs here
cntrl1 |= T6_TXPKT_ETHHDR_LEN_V(maclen - ETH_HLEN) |
^~~~~~
Replace the preprocessor conditional with the corresponding C version,
and make the ipv4 case unconditional in this configuration to improve
readability and avoid the warning.
Fixes: 86716b51d14f ("ch_ktls: Update cheksum information")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
.../net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
@@ -1043,17 +1041,15 @@ chcr_ktls_write_tcp_options(struct chcr_ktls_info *tx_info, struct sk_buff *skb,cpl->len=htons(pktlen);memcpy(buf,skb->data,pktlen);-if(tx_info->ip_family==AF_INET){+if(!IS_ENABLED(CONFIG_IPV6)||tx_info->ip_family==AF_INET){/* we need to correct ip header len */ip=(structiphdr*)(buf+maclen);ip->tot_len=htons(pktlen-maclen);cntrl1=TXPKT_CSUM_TYPE_V(TX_CSUM_TCPIP);-#if IS_ENABLED(CONFIG_IPV6)}else{ip6=(structipv6hdr*)(buf+maclen);ip6->payload_len=htons(pktlen-maclen-iplen);cntrl1=TXPKT_CSUM_TYPE_V(TX_CSUM_TCPIP6);-#endif}cntrl1|=T6_TXPKT_ETHHDR_LEN_V(maclen-ETH_HLEN)|
From: Jakub Kicinski <kuba@kernel.org> Date: 2020-12-05 01:58:44
On Thu, 3 Dec 2020 23:26:16 +0100 Arnd Bergmann wrote:
From: Arnd Bergmann <arnd@arndb.de>
When CONFIG_IPV6 is disabled, clang complains that a variable
is uninitialized for non-IPv4 data:
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c:1046:6: error: variable 'cntrl1' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
if (tx_info->ip_family == AF_INET) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c:1059:2: note: uninitialized use occurs here
cntrl1 |= T6_TXPKT_ETHHDR_LEN_V(maclen - ETH_HLEN) |
^~~~~~
Replace the preprocessor conditional with the corresponding C version,
and make the ipv4 case unconditional in this configuration to improve
readability and avoid the warning.
Fixes: 86716b51d14f ("ch_ktls: Update cheksum information")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This is for evrey clang build or just W=1+? Would be annoying if clang
produced this on every build with 5.10 (we need to decide fix vs -next).
Hello:
This patch was applied to netdev/net.git (refs/heads/master):
On Thu, 3 Dec 2020 23:26:16 +0100 you wrote:
From: Arnd Bergmann <arnd@arndb.de>
When CONFIG_IPV6 is disabled, clang complains that a variable
is uninitialized for non-IPv4 data:
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c:1046:6: error: variable 'cntrl1' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
if (tx_info->ip_family == AF_INET) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c:1059:2: note: uninitialized use occurs here
cntrl1 |= T6_TXPKT_ETHHDR_LEN_V(maclen - ETH_HLEN) |
^~~~~~
[...]
On Sat, Dec 5, 2020 at 2:57 AM Jakub Kicinski [off-list ref] wrote:
On Thu, 3 Dec 2020 23:26:16 +0100 Arnd Bergmann wrote:
quoted
From: Arnd Bergmann <arnd@arndb.de>
When CONFIG_IPV6 is disabled, clang complains that a variable
is uninitialized for non-IPv4 data:
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c:1046:6: error: variable 'cntrl1' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
if (tx_info->ip_family == AF_INET) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c:1059:2: note: uninitialized use occurs here
cntrl1 |= T6_TXPKT_ETHHDR_LEN_V(maclen - ETH_HLEN) |
^~~~~~
Replace the preprocessor conditional with the corresponding C version,
and make the ipv4 case unconditional in this configuration to improve
readability and avoid the warning.
Fixes: 86716b51d14f ("ch_ktls: Update cheksum information")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This is for evrey clang build or just W=1+? Would be annoying if clang
produced this on every build with 5.10 (we need to decide fix vs -next).
The -Wsometimes-uninitialized is enabled unconditionally for clang,
but this only happens for IPv4-only configurations with IPv6 disabled,
so most real configurations should not observe it, but the fix should still
go into v5.10.
Arnd
From: Jakub Kicinski <kuba@kernel.org> Date: 2020-12-05 23:24:51
On Sun, 6 Dec 2020 00:18:44 +0100 Arnd Bergmann wrote:
quoted
This is for evrey clang build or just W=1+? Would be annoying if clang
produced this on every build with 5.10 (we need to decide fix vs -next).
The -Wsometimes-uninitialized is enabled unconditionally for clang,
but this only happens for IPv4-only configurations with IPv6 disabled,
so most real configurations should not observe it, but the fix should still
go into v5.10.