BCC: lkp(a)intel.com CC: kbuild-all(a)lists.01.org In-Reply-To: <20220923201319.493208-2-dima@arista.com> References: <20220923201319.493208-2-dima@arista.com> TO: Dmitry Safonov TO: linux-kernel(a)vger.kernel.org TO: David Ahern TO: Eric Dumazet CC: Dmitry Safonov CC: Andy Lutomirski CC: Ard Biesheuvel CC: Bob Gilligan CC: Dan Carpenter CC: Eric Biggers CC: "Eric W. Biederman" CC: Francesco Ruggeri CC: Herbert Xu CC: Hideaki YOSHIFUJI CC: Ivan Delalande CC: Jakub Kicinski CC: Leonard Crestez CC: Paolo Abeni CC: Salam Noureddine CC: Shuah Khan CC: netdev(a)vger.kernel.org CC: linux-crypto(a)vger.kernel.org Hi Dmitry, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on bf682942cd26ce9cd5e87f73ae099b383041e782] url: https://github.com/intel-lab-lkp/linux/commits/Dmitry-Safonov/net-tcp-Add-TCP-AO-support/20220924-042311 base: bf682942cd26ce9cd5e87f73ae099b383041e782 :::::: branch date: 2 days ago :::::: commit date: 2 days ago config: x86_64-randconfig-m001 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 | Reported-by: Dan Carpenter smatch warnings: crypto/crypto_pool.c:158 crypto_pool_alloc_ahash() error: testing array offset 'i' after use. vim +/i +158 crypto/crypto_pool.c 56fee020e804f6 Dmitry Safonov 2022-09-23 130 56fee020e804f6 Dmitry Safonov 2022-09-23 131 /** 56fee020e804f6 Dmitry Safonov 2022-09-23 132 * crypto_pool_alloc_ahash - allocates pool for ahash requests 56fee020e804f6 Dmitry Safonov 2022-09-23 133 * @alg: name of async hash algorithm 56fee020e804f6 Dmitry Safonov 2022-09-23 134 */ 56fee020e804f6 Dmitry Safonov 2022-09-23 135 int crypto_pool_alloc_ahash(const char *alg) 56fee020e804f6 Dmitry Safonov 2022-09-23 136 { 56fee020e804f6 Dmitry Safonov 2022-09-23 137 int i, ret; 56fee020e804f6 Dmitry Safonov 2022-09-23 138 56fee020e804f6 Dmitry Safonov 2022-09-23 139 /* slow-path */ 56fee020e804f6 Dmitry Safonov 2022-09-23 140 mutex_lock(&cpool_mutex); 56fee020e804f6 Dmitry Safonov 2022-09-23 141 56fee020e804f6 Dmitry Safonov 2022-09-23 142 for (i = 0; i < cpool_populated; i++) { 56fee020e804f6 Dmitry Safonov 2022-09-23 143 if (cpool[i].alg && !strcmp(cpool[i].alg, alg)) { 56fee020e804f6 Dmitry Safonov 2022-09-23 144 if (kref_read(&cpool[i].kref) > 0) { 56fee020e804f6 Dmitry Safonov 2022-09-23 145 kref_get(&cpool[i].kref); 56fee020e804f6 Dmitry Safonov 2022-09-23 146 ret = i; 56fee020e804f6 Dmitry Safonov 2022-09-23 147 goto out; 56fee020e804f6 Dmitry Safonov 2022-09-23 148 } else { 56fee020e804f6 Dmitry Safonov 2022-09-23 149 break; 56fee020e804f6 Dmitry Safonov 2022-09-23 150 } 56fee020e804f6 Dmitry Safonov 2022-09-23 151 } 56fee020e804f6 Dmitry Safonov 2022-09-23 152 } 56fee020e804f6 Dmitry Safonov 2022-09-23 153 56fee020e804f6 Dmitry Safonov 2022-09-23 154 for (i = 0; i < cpool_populated; i++) { 56fee020e804f6 Dmitry Safonov 2022-09-23 155 if (!cpool[i].alg) 56fee020e804f6 Dmitry Safonov 2022-09-23 156 break; 56fee020e804f6 Dmitry Safonov 2022-09-23 157 } 56fee020e804f6 Dmitry Safonov 2022-09-23 @158 if (i >= CPOOL_SIZE) { 56fee020e804f6 Dmitry Safonov 2022-09-23 159 ret = -ENOSPC; 56fee020e804f6 Dmitry Safonov 2022-09-23 160 goto out; 56fee020e804f6 Dmitry Safonov 2022-09-23 161 } 56fee020e804f6 Dmitry Safonov 2022-09-23 162 56fee020e804f6 Dmitry Safonov 2022-09-23 163 ret = __cpool_alloc_ahash(&cpool[i], alg); 56fee020e804f6 Dmitry Safonov 2022-09-23 164 if (!ret) { 56fee020e804f6 Dmitry Safonov 2022-09-23 165 ret = i; 56fee020e804f6 Dmitry Safonov 2022-09-23 166 if (i == cpool_populated) 56fee020e804f6 Dmitry Safonov 2022-09-23 167 cpool_populated++; 56fee020e804f6 Dmitry Safonov 2022-09-23 168 } 56fee020e804f6 Dmitry Safonov 2022-09-23 169 out: 56fee020e804f6 Dmitry Safonov 2022-09-23 170 mutex_unlock(&cpool_mutex); 56fee020e804f6 Dmitry Safonov 2022-09-23 171 return ret; 56fee020e804f6 Dmitry Safonov 2022-09-23 172 } 56fee020e804f6 Dmitry Safonov 2022-09-23 173 EXPORT_SYMBOL_GPL(crypto_pool_alloc_ahash); 56fee020e804f6 Dmitry Safonov 2022-09-23 174 -- 0-DAY CI Kernel Test Service https://01.org/lkp