Thread (4 messages) flat view 4 messages, 4 authors, 2021-11-22

Re: [PATCH] [v2] iwlwifi: pcie: fix constant-conversion warning

From: Arnd Bergmann <arnd@arndb.de>
Date: 2021-11-18 12:28:46
Also in: lkml, llvm, netdev

On Thu, Nov 11, 2021 at 8:31 AM Arnd Bergmann [off-list ref] wrote:
From: Arnd Bergmann <arnd@arndb.de>

clang points out a potential issue with integer overflow when
the iwl_dev_info_table[] array is empty:

drivers/net/wireless/intel/iwlwifi/pcie/drv.c:1344:42: error: implicit conversion from 'unsigned long' to 'int' changes value from 18446744073709551615 to -1 [-Werror,-Wconstant-conversion]
        for (i = ARRAY_SIZE(iwl_dev_info_table) - 1; i >= 0; i--) {
               ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~

This is still harmless, as the loop correctly terminates, but adding
an extra range check makes that obvious to both readers and to the
compiler.

Fixes: 3f7320428fa4 ("iwlwifi: pcie: simplify iwl_pci_find_dev_info()")
Reported-by: kernel test robot <redacted>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Something went wrong on my end: I thought this was a clang warning and
that I had
fixed it because it didn't come back with my v2 patch. However I now see it in
my gcc-11 test builds, so I assume this was a gcc warning all along, and that
my patch does nothing. Please disregard it if you have not already applied it.

       Arnd
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help