Hi Herbert, kernel test robot noticed the following build errors: [auto build test ERROR on herbert-cryptodev-2.6/master] [also build test ERROR on next-20250214] [cannot apply to herbert-crypto-2.6/master brauner-vfs/vfs.all linus/master v6.14-rc2] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Herbert-Xu/crypto-ahash-Only-save-callback-and-data-in-ahash_save_req/20250216-150941 base: https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git master patch link: https://lore.kernel.org/r/bb74b3f54e24308bef2def8d25ed917d13590921.1739674648.git.herbert%40gondor.apana.org.au patch subject: [v2 PATCH 07/11] crypto: testmgr - Add multibuffer hash testing config: arc-randconfig-001-20250216 (https://download.01.org/0day-ci/archive/20250216/202502161754.b1Fy95ZS-lkp@xxxxxxxxx/config) compiler: arceb-elf-gcc (GCC) 13.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250216/202502161754.b1Fy95ZS-lkp@xxxxxxxxx/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202502161754.b1Fy95ZS-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): crypto/testmgr.c: In function '__alg_test_hash': >> crypto/testmgr.c:2072:69: error: passing argument 3 of 'test_hash_vs_generic_impl' from incompatible pointer type [-Werror=incompatible-pointer-types] 2072 | err = test_hash_vs_generic_impl(generic_driver, maxkeysize, reqs, | ^~~~ | | | struct ahash_request ** crypto/testmgr.c:1952:60: note: expected 'struct ahash_request *' but argument is of type 'struct ahash_request **' 1952 | struct ahash_request *req, | ~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors vim +/test_hash_vs_generic_impl +2072 crypto/testmgr.c 1993 1994 static int __alg_test_hash(const struct hash_testvec *vecs, 1995 unsigned int num_vecs, const char *driver, 1996 u32 type, u32 mask, 1997 const char *generic_driver, unsigned int maxkeysize) 1998 { 1999 struct ahash_request *reqs[HASH_TEST_MAX_MB_MSGS] = {}; 2000 struct crypto_ahash *atfm = NULL; 2001 struct crypto_shash *stfm = NULL; 2002 struct shash_desc *desc = NULL; 2003 struct test_sglist *tsgl = NULL; 2004 u8 *hashstate = NULL; 2005 unsigned int statesize; 2006 unsigned int i; 2007 int err; 2008 2009 /* 2010 * Always test the ahash API. This works regardless of whether the 2011 * algorithm is implemented as ahash or shash. 2012 */ 2013 2014 atfm = crypto_alloc_ahash(driver, type, mask); 2015 if (IS_ERR(atfm)) { 2016 if (PTR_ERR(atfm) == -ENOENT) 2017 return 0; 2018 pr_err("alg: hash: failed to allocate transform for %s: %ld\n", 2019 driver, PTR_ERR(atfm)); 2020 return PTR_ERR(atfm); 2021 } 2022 driver = crypto_ahash_driver_name(atfm); 2023 2024 for (i = 0; i < HASH_TEST_MAX_MB_MSGS; i++) { 2025 reqs[i] = ahash_request_alloc(atfm, GFP_KERNEL); 2026 if (!reqs[i]) { 2027 pr_err("alg: hash: failed to allocate request for %s\n", 2028 driver); 2029 err = -ENOMEM; 2030 goto out; 2031 } 2032 } 2033 2034 /* 2035 * If available also test the shash API, to cover corner cases that may 2036 * be missed by testing the ahash API only. 2037 */ 2038 err = alloc_shash(driver, type, mask, &stfm, &desc); 2039 if (err) 2040 goto out; 2041 2042 tsgl = kmalloc(sizeof(*tsgl), GFP_KERNEL); 2043 if (!tsgl || init_test_sglist(tsgl) != 0) { 2044 pr_err("alg: hash: failed to allocate test buffers for %s\n", 2045 driver); 2046 kfree(tsgl); 2047 tsgl = NULL; 2048 err = -ENOMEM; 2049 goto out; 2050 } 2051 2052 statesize = crypto_ahash_statesize(atfm); 2053 if (stfm) 2054 statesize = max(statesize, crypto_shash_statesize(stfm)); 2055 hashstate = kmalloc(statesize + TESTMGR_POISON_LEN, GFP_KERNEL); 2056 if (!hashstate) { 2057 pr_err("alg: hash: failed to allocate hash state buffer for %s\n", 2058 driver); 2059 err = -ENOMEM; 2060 goto out; 2061 } 2062 2063 for (i = 0; i < num_vecs; i++) { 2064 if (fips_enabled && vecs[i].fips_skip) 2065 continue; 2066 2067 err = test_hash_vec(&vecs[i], i, reqs, desc, tsgl, hashstate); 2068 if (err) 2069 goto out; 2070 cond_resched(); 2071 } > 2072 err = test_hash_vs_generic_impl(generic_driver, maxkeysize, reqs, 2073 desc, tsgl, hashstate); 2074 out: 2075 kfree(hashstate); 2076 if (tsgl) { 2077 destroy_test_sglist(tsgl); 2078 kfree(tsgl); 2079 } 2080 kfree(desc); 2081 crypto_free_shash(stfm); 2082 if (reqs[0]) { 2083 ahash_request_set_callback(reqs[0], 0, NULL, NULL); 2084 for (i = 1; i < HASH_TEST_MAX_MB_MSGS && reqs[i]; i++) 2085 ahash_request_chain(reqs[i], reqs[0]); 2086 ahash_request_free(reqs[0]); 2087 } 2088 crypto_free_ahash(atfm); 2089 return err; 2090 } 2091 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki