Hi Jay,
kernel test robot noticed the following build errors:
[auto build test ERROR on herbert-cryptodev-2.6/master] [also build test ERROR on herbert-crypto-2.6/master linus/master v6.16-rc3 next-20250627] [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/Jay-Wang/crypto-rng-Override-... base: https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git master patch link: https://lore.kernel.org/r/20250628042918.32253-2-wanjay%40amazon.com patch subject: [PATCH 1/2] crypto: rng - Override drivers/char/random in FIPS mode config: x86_64-buildonly-randconfig-001-20250628 (https://download.01.org/0day-ci/archive/20250628/202506282235.pPmU7tOj-lkp@i...) compiler: gcc-12 (Debian 12.2.0-14+deb12u1) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250628/202506282235.pPmU7tOj-lkp@i...)
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@intel.com | Closes: https://lore.kernel.org/oe-kbuild-all/202506282235.pPmU7tOj-lkp@intel.com/
All error/warnings (new ones prefixed by >>):
crypto/rng.c:272:21: error: variable 'crypto_devrandom_rng' has initializer but incomplete type
272 | static const struct random_extrng crypto_devrandom_rng = { | ^~~~~~~~~~~~~
crypto/rng.c:273:10: error: 'const struct random_extrng' has no member named 'extrng_read'
273 | .extrng_read = crypto_devrandom_read, | ^~~~~~~~~~~
crypto/rng.c:273:24: warning: excess elements in struct initializer
273 | .extrng_read = crypto_devrandom_read, | ^~~~~~~~~~~~~~~~~~~~~ crypto/rng.c:273:24: note: (near initialization for 'crypto_devrandom_rng')
crypto/rng.c:274:10: error: 'const struct random_extrng' has no member named 'owner'
274 | .owner = THIS_MODULE, | ^~~~~ In file included from include/linux/printk.h:6, from include/asm-generic/bug.h:22, from arch/x86/include/asm/bug.h:103, from arch/x86/include/asm/alternative.h:9, from arch/x86/include/asm/barrier.h:5, from include/linux/list.h:11, from include/linux/swait.h:5, from include/linux/completion.h:12, from include/linux/crypto.h:15, from include/crypto/algapi.h:13, from include/crypto/internal/rng.h:12, from crypto/rng.c:11: include/linux/init.h:182:21: warning: excess elements in struct initializer 182 | #define THIS_MODULE ((struct module *)0) | ^ crypto/rng.c:274:18: note: in expansion of macro 'THIS_MODULE' 274 | .owner = THIS_MODULE, | ^~~~~~~~~~~ include/linux/init.h:182:21: note: (near initialization for 'crypto_devrandom_rng') 182 | #define THIS_MODULE ((struct module *)0) | ^ crypto/rng.c:274:18: note: in expansion of macro 'THIS_MODULE' 274 | .owner = THIS_MODULE, | ^~~~~~~~~~~ crypto/rng.c: In function 'crypto_rng_init':
crypto/rng.c:280:17: error: implicit declaration of function 'random_register_extrng'; did you mean 'crypto_register_rng'? [-Werror=implicit-function-declaration]
280 | random_register_extrng(&crypto_devrandom_rng); | ^~~~~~~~~~~~~~~~~~~~~~ | crypto_register_rng crypto/rng.c: In function 'crypto_rng_exit':
crypto/rng.c:286:9: error: implicit declaration of function 'random_unregister_extrng'; did you mean 'crypto_unregister_rng'? [-Werror=implicit-function-declaration]
286 | random_unregister_extrng(); | ^~~~~~~~~~~~~~~~~~~~~~~~ | crypto_unregister_rng crypto/rng.c: At top level:
crypto/rng.c:272:35: error: storage size of 'crypto_devrandom_rng' isn't known
272 | static const struct random_extrng crypto_devrandom_rng = { | ^~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors
vim +/crypto_devrandom_rng +272 crypto/rng.c
271
272 static const struct random_extrng crypto_devrandom_rng = { 273 .extrng_read = crypto_devrandom_read, 274 .owner = THIS_MODULE,
275 }; 276 277 static int __init crypto_rng_init(void) 278 { 279 if (fips_enabled)
280 random_register_extrng(&crypto_devrandom_rng);
281 return 0; 282 } 283 284 static void __exit crypto_rng_exit(void) 285 {
286 random_unregister_extrng();
287 } 288