BCC: [email protected]
CC: [email protected]
In-Reply-To: <[email protected]>
References: <[email protected]>
TO: Dmitry Safonov <[email protected]>
TO: Eric Dumazet <[email protected]>
TO: "David S. Miller" <[email protected]>
CC: [email protected]
TO: [email protected]
CC: Dmitry Safonov <[email protected]>
CC: Andy Lutomirski <[email protected]>
CC: Ard Biesheuvel <[email protected]>
CC: Bob Gilligan <[email protected]>
CC: David Ahern <[email protected]>
CC: Eric Biggers <[email protected]>
CC: Francesco Ruggeri <[email protected]>
CC: Herbert Xu <[email protected]>
CC: Hideaki YOSHIFUJI <[email protected]>
CC: Ivan Delalande <[email protected]>
CC: Jakub Kicinski <[email protected]>
CC: Leonard Crestez <[email protected]>
CC: Paolo Abeni <[email protected]>
CC: Salam Noureddine <[email protected]>
CC: Shuah Khan <[email protected]>
CC: [email protected]

Hi Dmitry,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on e34cfee65ec891a319ce79797dda18083af33a76]

url:    
https://github.com/intel-lab-lkp/linux/commits/Dmitry-Safonov/net-tcp-Add-TCP-AO-support/20220819-010628
base:   e34cfee65ec891a319ce79797dda18083af33a76
:::::: branch date: 4 days ago
:::::: commit date: 4 days ago
config: x86_64-randconfig-m001 
(https://download.01.org/0day-ci/archive/20220822/[email protected]/config)
compiler: gcc-11 (Debian 11.3.0-5) 11.3.0

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>
Reported-by: Dan Carpenter <[email protected]>

smatch warnings:
crypto/crypto_pool.c:161 crypto_pool_alloc_ahash() error: testing array offset 
'i' after use.

vim +/i +161 crypto/crypto_pool.c

f4c3873630fc8c4 Dmitry Safonov 2022-08-18  130  
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  131  /**
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  132   * crypto_pool_alloc_ahash - 
allocates pool for ahash requests
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  133   * @alg: name of async hash 
algorithm
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  134   */
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  135  int 
crypto_pool_alloc_ahash(const char *alg)
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  136  {
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  137          unsigned int i;
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  138          int err;
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  139  
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  140          /* slow-path */
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  141          
mutex_lock(&cpool_mutex);
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  142          err = 
crypto_pool_scratch_alloc();
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  143          if (err)
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  144                  goto out;
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  145  
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  146          for (i = 0; i < 
last_allocated; i++) {
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  147                  if 
(cpool[i].alg && !strcmp(cpool[i].alg, alg)) {
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  148                          if 
(kref_read(&cpool[i].kref) > 0) {
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  149                                  
kref_get(&cpool[i].kref);
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  150                                  
goto out;
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  151                          } else {
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  152                                  
break;
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  153                          }
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  154                  }
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  155          }
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  156  
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  157          for (i = 0; i < 
last_allocated; i++) {
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  158                  if 
(!cpool[i].alg)
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  159                          break;
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  160          }
f4c3873630fc8c4 Dmitry Safonov 2022-08-18 @161          if (i >= CPOOL_SIZE) {
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  162                  err = -ENOSPC;
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  163                  goto out;
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  164          }
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  165  
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  166          err = 
__cpool_alloc_ahash(&cpool[i], alg);
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  167          if (!err && 
last_allocated <= i)
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  168                  
last_allocated++;
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  169  out:
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  170          
mutex_unlock(&cpool_mutex);
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  171          return err ?: (int)i;
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  172  }
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  173  
EXPORT_SYMBOL_GPL(crypto_pool_alloc_ahash);
f4c3873630fc8c4 Dmitry Safonov 2022-08-18  174  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to