All of lore.kernel.org
 help / color / mirror / Atom feed
* drivers/crypto/gemini/sl3516-ce-cipher.c:365:24: warning: Value stored to 'ce' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
@ 2021-12-16 23:58 kernel test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2021-12-16 23:58 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 16223 bytes --]

CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Corentin Labbe <clabbe@baylibre.com>
CC: Herbert Xu <herbert@gondor.apana.org.au>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   2b14864acbaaf03d9c01982e243a84632524c3ac
commit: 46c5338db7bd45b2cf99570560f00389d60fd6b4 crypto: sl3516 - Add sl3516 crypto engine
date:   6 months ago
:::::: branch date: 29 hours ago
:::::: commit date: 6 months ago
config: arm-randconfig-c002-20211209 (https://download.01.org/0day-ci/archive/20211217/202112170717.qY9nLOgc-lkp(a)intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 097a1cb1d5ebb3a0ec4bcaed8ba3ff6a8e33c00a)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install arm cross compiling tool for clang build
        # apt-get install binutils-arm-linux-gnueabi
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=46c5338db7bd45b2cf99570560f00389d60fd6b4
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 46c5338db7bd45b2cf99570560f00389d60fd6b4
        # save the config file to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm clang-analyzer 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


clang-analyzer warnings: (new ones prefixed by >>)
   2 warnings generated.
   Suppressed 2 warnings (2 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   2 warnings generated.
   Suppressed 2 warnings (2 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   8 warnings generated.
   Suppressed 8 warnings (8 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   10 warnings generated.
   drivers/rtc/rtc-s5m.c:491:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
           ret = s5m_check_peding_alarm_interrupt(info, alrm);
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/rtc/rtc-s5m.c:491:2: note: Value stored to 'ret' is never read
           ret = s5m_check_peding_alarm_interrupt(info, alrm);
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 9 warnings (9 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   9 warnings generated.
   Suppressed 9 warnings (9 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   9 warnings generated.
   Suppressed 9 warnings (9 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   9 warnings generated.
   Suppressed 9 warnings (9 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   9 warnings generated.
   Suppressed 9 warnings (9 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   9 warnings generated.
   Suppressed 9 warnings (9 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   11 warnings generated.
   fs/btrfs/extent_map.c:615:3: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
                   ret = 0;
                   ^     ~
   fs/btrfs/extent_map.c:615:3: note: Value stored to 'ret' is never read
                   ret = 0;
                   ^     ~
   Suppressed 10 warnings (10 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   11 warnings generated.
   crypto/asymmetric_keys/public_key.c:91:3: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
                   strcpy(alg_name, pkey->pkey_algo);
                   ^~~~~~
   crypto/asymmetric_keys/public_key.c:91:3: note: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
                   strcpy(alg_name, pkey->pkey_algo);
                   ^~~~~~
   Suppressed 10 warnings (10 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   8 warnings generated.
   Suppressed 8 warnings (8 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   10 warnings generated.
   Suppressed 10 warnings (10 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   9 warnings generated.
   Suppressed 9 warnings (9 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   9 warnings generated.
   Suppressed 9 warnings (9 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   9 warnings generated.
   Suppressed 9 warnings (9 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   10 warnings generated.
   drivers/gpu/drm/drm_self_refresh_helper.c:85:3: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
                   ret = -ENOMEM;
                   ^     ~~~~~~~
   drivers/gpu/drm/drm_self_refresh_helper.c:85:3: note: Value stored to 'ret' is never read
                   ret = -ENOMEM;
                   ^     ~~~~~~~
   Suppressed 9 warnings (9 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   9 warnings generated.
   Suppressed 9 warnings (9 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   10 warnings generated.
   drivers/gpu/drm/drm_fb_helper.c:156:24: warning: Value stored to 'helper' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct drm_fb_helper *helper = info->par;
                                 ^~~~~~   ~~~~~~~~~
   drivers/gpu/drm/drm_fb_helper.c:156:24: note: Value stored to 'helper' during its initialization is never read
           struct drm_fb_helper *helper = info->par;
                                 ^~~~~~   ~~~~~~~~~
   Suppressed 9 warnings (9 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   13 warnings generated.
   drivers/crypto/gemini/sl3516-ce-cipher.c:27:22: warning: Value stored to 'in_sg' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct scatterlist *in_sg = areq->src;
                               ^~~~~   ~~~~~~~~~
   drivers/crypto/gemini/sl3516-ce-cipher.c:27:22: note: Value stored to 'in_sg' during its initialization is never read
           struct scatterlist *in_sg = areq->src;
                               ^~~~~   ~~~~~~~~~
   drivers/crypto/gemini/sl3516-ce-cipher.c:28:22: warning: Value stored to 'out_sg' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct scatterlist *out_sg = areq->dst;
                               ^~~~~~   ~~~~~~~~~
   drivers/crypto/gemini/sl3516-ce-cipher.c:28:22: note: Value stored to 'out_sg' during its initialization is never read
           struct scatterlist *out_sg = areq->dst;
                               ^~~~~~   ~~~~~~~~~
>> drivers/crypto/gemini/sl3516-ce-cipher.c:365:24: warning: Value stored to 'ce' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct sl3516_ce_dev *ce = op->ce;
                                 ^~   ~~~~~~
   drivers/crypto/gemini/sl3516-ce-cipher.c:365:24: note: Value stored to 'ce' during its initialization is never read
           struct sl3516_ce_dev *ce = op->ce;
                                 ^~   ~~~~~~
   Suppressed 10 warnings (10 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   10 warnings generated.
   Suppressed 10 warnings (10 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   15 warnings generated.
   drivers/crypto/inside-secure/safexcel.c:139:36: warning: The result of the left shift is undefined because the left operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
                   val = EIP197_CS_RC_NEXT(i + 1) | EIP197_CS_RC_PREV(i - 1);
                                                    ^
   drivers/crypto/inside-secure/safexcel.h:492:37: note: expanded from macro 'EIP197_CS_RC_PREV'
   #define EIP197_CS_RC_PREV(x)                    ((x) << 10)
                                                        ^
   drivers/crypto/inside-secure/safexcel.c:591:2: note: Taking false branch
           dev_dbg(priv->dev, "HW init: using %d pipe(s) and %d ring(s)\n",
           ^
   include/linux/dev_printk.h:130:2: note: expanded from macro 'dev_dbg'
           if (0)                                                          \
           ^
   drivers/crypto/inside-secure/safexcel.c:598:6: note: Assuming the condition is true
           if (priv->flags & SAFEXCEL_HW_EIP197) {
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/crypto/inside-secure/safexcel.c:598:2: note: Taking true branch
           if (priv->flags & SAFEXCEL_HW_EIP197) {
           ^
   drivers/crypto/inside-secure/safexcel.c:599:9: note: Loop condition is false.  Exiting loop
                   val = readl(EIP197_HIA_AIC(priv) + EIP197_HIA_MST_CTRL);
                         ^
   arch/arm/include/asm/io.h:303:50: note: expanded from macro 'readl'
   #define readl(c)                ({ u32 __v = readl_relaxed(c); __iormb(); __v; })
                                                                  ^
   arch/arm/include/asm/io.h:168:20: note: expanded from macro '__iormb'
   #define __iormb()               do { } while (0)
                                   ^
   drivers/crypto/inside-secure/safexcel.c:601:3: note: Loop condition is false.  Exiting loop
                   writel(val, EIP197_HIA_AIC(priv) + EIP197_HIA_MST_CTRL);
                   ^
   arch/arm/include/asm/io.h:307:25: note: expanded from macro 'writel'
   #define writel(v,c)             ({ __iowmb(); writel_relaxed(v,c); })
                                      ^
   arch/arm/include/asm/io.h:169:20: note: expanded from macro '__iowmb'
   #define __iowmb()               do { } while (0)
                                   ^
   drivers/crypto/inside-secure/safexcel.c:605:2: note: Loop condition is false.  Exiting loop
           writel(EIP197_MST_CTRL_RD_CACHE(RD_CACHE_4BITS) |
           ^
   arch/arm/include/asm/io.h:307:25: note: expanded from macro 'writel'
   #define writel(v,c)             ({ __iowmb(); writel_relaxed(v,c); })
                                      ^
   arch/arm/include/asm/io.h:169:20: note: expanded from macro '__iowmb'
   #define __iowmb()               do { } while (0)
                                   ^
   drivers/crypto/inside-secure/safexcel.c:612:2: note: Loop condition is false.  Exiting loop
           writel(0, EIP197_HIA_AIC_G(priv) + EIP197_HIA_AIC_G_ENABLE_CTRL);
           ^
   arch/arm/include/asm/io.h:307:25: note: expanded from macro 'writel'
   #define writel(v,c)             ({ __iowmb(); writel_relaxed(v,c); })
                                      ^
   arch/arm/include/asm/io.h:169:20: note: expanded from macro '__iowmb'
   #define __iowmb()               do { } while (0)
                                   ^
   drivers/crypto/inside-secure/safexcel.c:615:2: note: Loop condition is false.  Exiting loop
           writel(GENMASK(31, 0), EIP197_HIA_AIC_G(priv) + EIP197_HIA_AIC_G_ACK);
           ^
   arch/arm/include/asm/io.h:307:25: note: expanded from macro 'writel'
   #define writel(v,c)             ({ __iowmb(); writel_relaxed(v,c); })
                                      ^
   arch/arm/include/asm/io.h:169:20: note: expanded from macro '__iowmb'
   #define __iowmb()               do { } while (0)
                                   ^
   drivers/crypto/inside-secure/safexcel.c:618:15: note: Assuming 'pe' is >= field 'pes'
           for (pe = 0; pe < priv->config.pes; pe++) {
                        ^~~~~~~~~~~~~~~~~~~~~
   drivers/crypto/inside-secure/safexcel.c:618:2: note: Loop condition is false. Execution continues on line 712
           for (pe = 0; pe < priv->config.pes; pe++) {
           ^
   drivers/crypto/inside-secure/safexcel.c:712:14: note: Assuming 'i' is < field 'rings'
           for (i = 0; i < priv->config.rings; i++) {
                       ^~~~~~~~~~~~~~~~~~~~~~
   drivers/crypto/inside-secure/safexcel.c:712:2: note: Loop condition is true.  Entering loop body
           for (i = 0; i < priv->config.rings; i++) {
           ^
   drivers/crypto/inside-secure/safexcel.c:714:3: note: Loop condition is false.  Exiting loop
                   writel(GENMASK(31, 0),
                   ^
   arch/arm/include/asm/io.h:307:25: note: expanded from macro 'writel'
   #define writel(v,c)             ({ __iowmb(); writel_relaxed(v,c); })
                                      ^
   arch/arm/include/asm/io.h:169:20: note: expanded from macro '__iowmb'
   #define __iowmb()               do { } while (0)
                                   ^
   drivers/crypto/inside-secure/safexcel.c:718:3: note: Loop condition is false.  Exiting loop
                   writel(0, EIP197_HIA_CDR(priv, i) + EIP197_HIA_xDR_CFG);
                   ^
   arch/arm/include/asm/io.h:307:25: note: expanded from macro 'writel'
   #define writel(v,c)             ({ __iowmb(); writel_relaxed(v,c); })

vim +/ce +365 drivers/crypto/gemini/sl3516-ce-cipher.c

46c5338db7bd45b Corentin Labbe 2021-06-01  360  
46c5338db7bd45b Corentin Labbe 2021-06-01  361  int sl3516_ce_aes_setkey(struct crypto_skcipher *tfm, const u8 *key,
46c5338db7bd45b Corentin Labbe 2021-06-01  362  			 unsigned int keylen)
46c5338db7bd45b Corentin Labbe 2021-06-01  363  {
46c5338db7bd45b Corentin Labbe 2021-06-01  364  	struct sl3516_ce_cipher_tfm_ctx *op = crypto_skcipher_ctx(tfm);
46c5338db7bd45b Corentin Labbe 2021-06-01 @365  	struct sl3516_ce_dev *ce = op->ce;

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

^ permalink raw reply	[flat|nested] 2+ messages in thread

* drivers/crypto/gemini/sl3516-ce-cipher.c:365:24: warning: Value stored to 'ce' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
@ 2021-12-13 20:51 kernel test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2021-12-13 20:51 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 17373 bytes --]

CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Corentin Labbe <clabbe@baylibre.com>
CC: Herbert Xu <herbert@gondor.apana.org.au>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   2585cf9dfaaddf00b069673f27bb3f8530e2039c
commit: 46c5338db7bd45b2cf99570560f00389d60fd6b4 crypto: sl3516 - Add sl3516 crypto engine
date:   6 months ago
:::::: branch date: 22 hours ago
:::::: commit date: 6 months ago
config: arm-randconfig-c002-20211209 (https://download.01.org/0day-ci/archive/20211214/202112140420.9TgWLRUx-lkp(a)intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 097a1cb1d5ebb3a0ec4bcaed8ba3ff6a8e33c00a)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install arm cross compiling tool for clang build
        # apt-get install binutils-arm-linux-gnueabi
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=46c5338db7bd45b2cf99570560f00389d60fd6b4
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 46c5338db7bd45b2cf99570560f00389d60fd6b4
        # save the config file to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm clang-analyzer 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


clang-analyzer warnings: (new ones prefixed by >>)
           ^
   include/linux/compiler_types.h:306:2: note: expanded from macro '__compiletime_assert'
           do {                                                            \
           ^
   fs/btrfs/ref-verify.c:254:3: note: Calling 'list_del'
                   list_del(&ra->list);
                   ^~~~~~~~~~~~~~~~~~~
   include/linux/list.h:146:2: note: Calling '__list_del_entry'
           __list_del_entry(entry);
           ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/list.h:132:2: note: Taking false branch
           if (!__list_del_entry_valid(entry))
           ^
   include/linux/list.h:135:13: note: Use of memory after it is freed
           __list_del(entry->prev, entry->next);
                      ^~~~~~~~~~~
   Suppressed 10 warnings (10 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   10 warnings generated.
   Suppressed 10 warnings (10 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   9 warnings generated.
   Suppressed 9 warnings (9 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   16 warnings generated.
   drivers/char/ipmi/ipmi_bt_sm.c:155:3: warning: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
                   strcat(buf, "B_BUSY ");
                   ^~~~~~
   drivers/char/ipmi/ipmi_bt_sm.c:155:3: note: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119
                   strcat(buf, "B_BUSY ");
                   ^~~~~~
   drivers/char/ipmi/ipmi_bt_sm.c:157:3: warning: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
                   strcat(buf, "H_BUSY ");
                   ^~~~~~
   drivers/char/ipmi/ipmi_bt_sm.c:157:3: note: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119
                   strcat(buf, "H_BUSY ");
                   ^~~~~~
   drivers/char/ipmi/ipmi_bt_sm.c:159:3: warning: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
                   strcat(buf, "OEM0 ");
                   ^~~~~~
   drivers/char/ipmi/ipmi_bt_sm.c:159:3: note: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119
                   strcat(buf, "OEM0 ");
                   ^~~~~~
   drivers/char/ipmi/ipmi_bt_sm.c:161:3: warning: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
                   strcat(buf, "SMS ");
                   ^~~~~~
   drivers/char/ipmi/ipmi_bt_sm.c:161:3: note: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119
                   strcat(buf, "SMS ");
                   ^~~~~~
   drivers/char/ipmi/ipmi_bt_sm.c:163:3: warning: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
                   strcat(buf, "B2H ");
                   ^~~~~~
   drivers/char/ipmi/ipmi_bt_sm.c:163:3: note: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119
                   strcat(buf, "B2H ");
                   ^~~~~~
   drivers/char/ipmi/ipmi_bt_sm.c:165:3: warning: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
                   strcat(buf, "H2B ");
                   ^~~~~~
   drivers/char/ipmi/ipmi_bt_sm.c:165:3: note: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119
                   strcat(buf, "H2B ");
                   ^~~~~~
   drivers/char/ipmi/ipmi_bt_sm.c:166:2: warning: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
           strcat(buf, "]");
           ^~~~~~
   drivers/char/ipmi/ipmi_bt_sm.c:166:2: note: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119
           strcat(buf, "]");
           ^~~~~~
   Suppressed 9 warnings (9 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   12 warnings generated.
   drivers/crypto/gemini/sl3516-ce-core.c:139:28: warning: Dereference of null pointer [clang-analyzer-core.NullDereference]
           rdd->next_desc.bits.eofie = 1;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
   drivers/crypto/gemini/sl3516-ce-core.c:122:26: note: 'rdd' initialized to a null pointer value
           struct descriptor *dd, *rdd = NULL;
                                   ^~~
   drivers/crypto/gemini/sl3516-ce-core.c:131:14: note: Assuming 'i' is >= field 'nr_sgd'
           for (i = 0; i < rctx->nr_sgd; i++) {
                       ^~~~~~~~~~~~~~~~
   drivers/crypto/gemini/sl3516-ce-core.c:131:2: note: Loop condition is false. Execution continues on line 139
           for (i = 0; i < rctx->nr_sgd; i++) {
           ^
   drivers/crypto/gemini/sl3516-ce-core.c:139:28: note: Dereference of null pointer
           rdd->next_desc.bits.eofie = 1;
           ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
   Suppressed 11 warnings (11 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   13 warnings generated.
   drivers/crypto/gemini/sl3516-ce-cipher.c:27:22: warning: Value stored to 'in_sg' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct scatterlist *in_sg = areq->src;
                               ^~~~~   ~~~~~~~~~
   drivers/crypto/gemini/sl3516-ce-cipher.c:27:22: note: Value stored to 'in_sg' during its initialization is never read
           struct scatterlist *in_sg = areq->src;
                               ^~~~~   ~~~~~~~~~
   drivers/crypto/gemini/sl3516-ce-cipher.c:28:22: warning: Value stored to 'out_sg' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct scatterlist *out_sg = areq->dst;
                               ^~~~~~   ~~~~~~~~~
   drivers/crypto/gemini/sl3516-ce-cipher.c:28:22: note: Value stored to 'out_sg' during its initialization is never read
           struct scatterlist *out_sg = areq->dst;
                               ^~~~~~   ~~~~~~~~~
>> drivers/crypto/gemini/sl3516-ce-cipher.c:365:24: warning: Value stored to 'ce' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct sl3516_ce_dev *ce = op->ce;
                                 ^~   ~~~~~~
   drivers/crypto/gemini/sl3516-ce-cipher.c:365:24: note: Value stored to 'ce' during its initialization is never read
           struct sl3516_ce_dev *ce = op->ce;
                                 ^~   ~~~~~~
   Suppressed 10 warnings (10 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   10 warnings generated.
   Suppressed 10 warnings (10 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   15 warnings generated.
   drivers/crypto/inside-secure/safexcel.c:139:36: warning: The result of the left shift is undefined because the left operand is negative [clang-analyzer-core.UndefinedBinaryOperatorResult]
                   val = EIP197_CS_RC_NEXT(i + 1) | EIP197_CS_RC_PREV(i - 1);
                                                    ^
   drivers/crypto/inside-secure/safexcel.h:492:37: note: expanded from macro 'EIP197_CS_RC_PREV'
   #define EIP197_CS_RC_PREV(x)                    ((x) << 10)
                                                        ^
   drivers/crypto/inside-secure/safexcel.c:591:2: note: Taking false branch
           dev_dbg(priv->dev, "HW init: using %d pipe(s) and %d ring(s)\n",
           ^
   include/linux/dev_printk.h:130:2: note: expanded from macro 'dev_dbg'
           if (0)                                                          \
           ^
   drivers/crypto/inside-secure/safexcel.c:598:6: note: Assuming the condition is true
           if (priv->flags & SAFEXCEL_HW_EIP197) {
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/crypto/inside-secure/safexcel.c:598:2: note: Taking true branch
           if (priv->flags & SAFEXCEL_HW_EIP197) {
           ^
   drivers/crypto/inside-secure/safexcel.c:599:9: note: Loop condition is false.  Exiting loop
                   val = readl(EIP197_HIA_AIC(priv) + EIP197_HIA_MST_CTRL);
                         ^
   arch/arm/include/asm/io.h:303:50: note: expanded from macro 'readl'
   #define readl(c)                ({ u32 __v = readl_relaxed(c); __iormb(); __v; })
                                                                  ^
   arch/arm/include/asm/io.h:168:20: note: expanded from macro '__iormb'
   #define __iormb()               do { } while (0)
                                   ^
   drivers/crypto/inside-secure/safexcel.c:601:3: note: Loop condition is false.  Exiting loop
                   writel(val, EIP197_HIA_AIC(priv) + EIP197_HIA_MST_CTRL);
                   ^
   arch/arm/include/asm/io.h:307:25: note: expanded from macro 'writel'
   #define writel(v,c)             ({ __iowmb(); writel_relaxed(v,c); })
                                      ^
   arch/arm/include/asm/io.h:169:20: note: expanded from macro '__iowmb'
   #define __iowmb()               do { } while (0)
                                   ^
   drivers/crypto/inside-secure/safexcel.c:605:2: note: Loop condition is false.  Exiting loop
           writel(EIP197_MST_CTRL_RD_CACHE(RD_CACHE_4BITS) |
           ^
   arch/arm/include/asm/io.h:307:25: note: expanded from macro 'writel'
   #define writel(v,c)             ({ __iowmb(); writel_relaxed(v,c); })
                                      ^
   arch/arm/include/asm/io.h:169:20: note: expanded from macro '__iowmb'
   #define __iowmb()               do { } while (0)
                                   ^
   drivers/crypto/inside-secure/safexcel.c:612:2: note: Loop condition is false.  Exiting loop
           writel(0, EIP197_HIA_AIC_G(priv) + EIP197_HIA_AIC_G_ENABLE_CTRL);
           ^
   arch/arm/include/asm/io.h:307:25: note: expanded from macro 'writel'
   #define writel(v,c)             ({ __iowmb(); writel_relaxed(v,c); })
                                      ^
   arch/arm/include/asm/io.h:169:20: note: expanded from macro '__iowmb'
   #define __iowmb()               do { } while (0)
                                   ^
   drivers/crypto/inside-secure/safexcel.c:615:2: note: Loop condition is false.  Exiting loop
           writel(GENMASK(31, 0), EIP197_HIA_AIC_G(priv) + EIP197_HIA_AIC_G_ACK);
           ^
   arch/arm/include/asm/io.h:307:25: note: expanded from macro 'writel'
   #define writel(v,c)             ({ __iowmb(); writel_relaxed(v,c); })
                                      ^
   arch/arm/include/asm/io.h:169:20: note: expanded from macro '__iowmb'
   #define __iowmb()               do { } while (0)
                                   ^
   drivers/crypto/inside-secure/safexcel.c:618:15: note: Assuming 'pe' is >= field 'pes'
           for (pe = 0; pe < priv->config.pes; pe++) {
                        ^~~~~~~~~~~~~~~~~~~~~
   drivers/crypto/inside-secure/safexcel.c:618:2: note: Loop condition is false. Execution continues on line 712
           for (pe = 0; pe < priv->config.pes; pe++) {
           ^
   drivers/crypto/inside-secure/safexcel.c:712:14: note: Assuming 'i' is < field 'rings'
           for (i = 0; i < priv->config.rings; i++) {
                       ^~~~~~~~~~~~~~~~~~~~~~
   drivers/crypto/inside-secure/safexcel.c:712:2: note: Loop condition is true.  Entering loop body
           for (i = 0; i < priv->config.rings; i++) {
           ^
   drivers/crypto/inside-secure/safexcel.c:714:3: note: Loop condition is false.  Exiting loop
                   writel(GENMASK(31, 0),
                   ^
   arch/arm/include/asm/io.h:307:25: note: expanded from macro 'writel'
   #define writel(v,c)             ({ __iowmb(); writel_relaxed(v,c); })
                                      ^
   arch/arm/include/asm/io.h:169:20: note: expanded from macro '__iowmb'
   #define __iowmb()               do { } while (0)
                                   ^
   drivers/crypto/inside-secure/safexcel.c:718:3: note: Loop condition is false.  Exiting loop
                   writel(0, EIP197_HIA_CDR(priv, i) + EIP197_HIA_xDR_CFG);
                   ^
   arch/arm/include/asm/io.h:307:25: note: expanded from macro 'writel'
   #define writel(v,c)             ({ __iowmb(); writel_relaxed(v,c); })

vim +/ce +365 drivers/crypto/gemini/sl3516-ce-cipher.c

46c5338db7bd45 Corentin Labbe 2021-06-01  360  
46c5338db7bd45 Corentin Labbe 2021-06-01  361  int sl3516_ce_aes_setkey(struct crypto_skcipher *tfm, const u8 *key,
46c5338db7bd45 Corentin Labbe 2021-06-01  362  			 unsigned int keylen)
46c5338db7bd45 Corentin Labbe 2021-06-01  363  {
46c5338db7bd45 Corentin Labbe 2021-06-01  364  	struct sl3516_ce_cipher_tfm_ctx *op = crypto_skcipher_ctx(tfm);
46c5338db7bd45 Corentin Labbe 2021-06-01 @365  	struct sl3516_ce_dev *ce = op->ce;

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-12-16 23:58 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-16 23:58 drivers/crypto/gemini/sl3516-ce-cipher.c:365:24: warning: Value stored to 'ce' during its initialization is never read [clang-analyzer-deadcode.DeadStores] kernel test robot
  -- strict thread matches above, loose matches on Subject: below --
2021-12-13 20:51 kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.