Hi Sandy, [auto build test ERROR on: char-misc/char-misc-testing] [also build test ERROR on: v4.3 next-20151106] url: https://github.com/0day-ci/linux/commits/Sandy-Harris/A-couple-of-generated-files/20151107-223540 config: x86_64-allmodconfig (attached as .config) reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All error/warnings (new ones prefixed by >>): drivers/char/random_gcm.c:2366:28: sparse: non-ANSI function declaration of function 'mix_const_all' drivers/char/random_gcm.c:2379:21: sparse: non-ANSI function declaration of function 'big_mix' drivers/char/random_gcm.c:2443:21: sparse: non-ANSI function declaration of function 'top_mix' drivers/char/random_gcm.c:2518:26: sparse: non-ANSI function declaration of function 'clear_addmul' drivers/char/random_gcm.c:3208:25: sparse: non-ANSI function declaration of function 'init_random' drivers/char/random_gcm.c:3571:26: sparse: non-ANSI function declaration of function 'counter_any' drivers/char/random_gcm.c:3652:23: sparse: non-ANSI function declaration of function 'load_input' drivers/char/random_gcm.c:3702:27: sparse: non-ANSI function declaration of function 'load_constants' drivers/char/random_gcm.c:477:14: sparse: undefined identifier 'constants' drivers/char/random_gcm.c:478:14: sparse: undefined identifier 'constants' drivers/char/random_gcm.c:496:14: sparse: undefined identifier 'constants' drivers/char/random_gcm.c:497:14: sparse: undefined identifier 'constants' drivers/char/random_gcm.c:514:14: sparse: undefined identifier 'constants' drivers/char/random_gcm.c:515:14: sparse: undefined identifier 'constants' drivers/char/random_gcm.c:530:14: sparse: undefined identifier 'constants' drivers/char/random_gcm.c:531:14: sparse: undefined identifier 'constants' drivers/char/random_gcm.c:3471:25: sparse: undefined identifier 'counter' drivers/char/random_gcm.c:3474:25: sparse: undefined identifier 'counter' drivers/char/random_gcm.c:3477:25: sparse: undefined identifier 'counter' drivers/char/random_gcm.c:3488:25: sparse: undefined identifier 'counter' drivers/char/random_gcm.c:3495:25: sparse: undefined identifier 'counter' drivers/char/random_gcm.c:3496:25: sparse: undefined identifier 'counter' drivers/char/random_gcm.c:3497:25: sparse: undefined identifier 'counter' drivers/char/random_gcm.c:3517:9: sparse: undefined identifier 'counter' drivers/char/random_gcm.c:3541:9: sparse: undefined identifier 'counter' drivers/char/random_gcm.c:3547:17: sparse: undefined identifier 'counter' drivers/char/random_gcm.c:3555:24: sparse: undefined identifier 'counter' drivers/char/random_gcm.c:3555:58: sparse: undefined identifier 'counter' drivers/char/random_gcm.c:3555:51: sparse: cast from unknown type drivers/char/random_gcm.c:3560:17: sparse: undefined identifier 'counter' drivers/char/random_gcm.c:3709:58: sparse: undefined identifier 'ARRAY_WORDS' drivers/char/random_gcm.c:3709:25: sparse: undefined identifier 'constants' drivers/char/random_gcm.c:2371:19: sparse: undefined identifier 'constants' drivers/char/random_gcm.c:2652:38: sparse: undefined identifier 'counter' >> drivers/char/random_gcm.c:477:7: error: 'constants' undeclared here (not in a function) .A = constants, ^ drivers/char/random_gcm.c: In function 'mix_first': >> drivers/char/random_gcm.c:2652:31: error: 'counter' undeclared (first use in this function) addmul( (u8 *) accum, (u8 *) counter, 16, (u8 *) r->B) ; ^ drivers/char/random_gcm.c:2652:31: note: each undeclared identifier is reported only once for each function it appears in drivers/char/random_gcm.c: In function 'count': drivers/char/random_gcm.c:3471:4: error: 'counter' undeclared (first use in this function) counter[1] += counter[3] ; ^ drivers/char/random_gcm.c: In function 'buffer2counter': drivers/char/random_gcm.c:3541:2: error: 'counter' undeclared (first use in this function) counter[0] ^= jiffies ; ^ drivers/char/random_gcm.c: In function 'load_constants': >> drivers/char/random_gcm.c:3709:27: warning: left-hand operand of comma expression has no effect [-Wunused-value] for( i = 0, p = constants, ret = 1 ; ret && (i < ARRAY_WORDS) ; i++, p++ ) { ^ >> drivers/char/random_gcm.c:3709:51: error: 'ARRAY_WORDS' undeclared (first use in this function) for( i = 0, p = constants, ret = 1 ; ret && (i < ARRAY_WORDS) ; i++, p++ ) { ^ sparse warnings: (new ones prefixed by >>) drivers/char/random_gcm.c:2366:28: sparse: non-ANSI function declaration of function 'mix_const_all' drivers/char/random_gcm.c:2379:21: sparse: non-ANSI function declaration of function 'big_mix' drivers/char/random_gcm.c:2443:21: sparse: non-ANSI function declaration of function 'top_mix' drivers/char/random_gcm.c:2518:26: sparse: non-ANSI function declaration of function 'clear_addmul' drivers/char/random_gcm.c:3208:25: sparse: non-ANSI function declaration of function 'init_random' drivers/char/random_gcm.c:3571:26: sparse: non-ANSI function declaration of function 'counter_any' drivers/char/random_gcm.c:3652:23: sparse: non-ANSI function declaration of function 'load_input' drivers/char/random_gcm.c:3702:27: sparse: non-ANSI function declaration of function 'load_constants' drivers/char/random_gcm.c:477:14: sparse: undefined identifier 'constants' drivers/char/random_gcm.c:478:14: sparse: undefined identifier 'constants' drivers/char/random_gcm.c:496:14: sparse: undefined identifier 'constants' drivers/char/random_gcm.c:497:14: sparse: undefined identifier 'constants' drivers/char/random_gcm.c:514:14: sparse: undefined identifier 'constants' drivers/char/random_gcm.c:515:14: sparse: undefined identifier 'constants' drivers/char/random_gcm.c:530:14: sparse: undefined identifier 'constants' drivers/char/random_gcm.c:531:14: sparse: undefined identifier 'constants' drivers/char/random_gcm.c:3471:25: sparse: undefined identifier 'counter' drivers/char/random_gcm.c:3474:25: sparse: undefined identifier 'counter' drivers/char/random_gcm.c:3477:25: sparse: undefined identifier 'counter' drivers/char/random_gcm.c:3488:25: sparse: undefined identifier 'counter' drivers/char/random_gcm.c:3495:25: sparse: undefined identifier 'counter' drivers/char/random_gcm.c:3496:25: sparse: undefined identifier 'counter' drivers/char/random_gcm.c:3497:25: sparse: undefined identifier 'counter' drivers/char/random_gcm.c:3517:9: sparse: undefined identifier 'counter' drivers/char/random_gcm.c:3541:9: sparse: undefined identifier 'counter' drivers/char/random_gcm.c:3547:17: sparse: undefined identifier 'counter' drivers/char/random_gcm.c:3555:24: sparse: undefined identifier 'counter' drivers/char/random_gcm.c:3555:58: sparse: undefined identifier 'counter' >> drivers/char/random_gcm.c:3555:51: sparse: cast from unknown type drivers/char/random_gcm.c:3560:17: sparse: undefined identifier 'counter' drivers/char/random_gcm.c:3709:58: sparse: undefined identifier 'ARRAY_WORDS' drivers/char/random_gcm.c:3709:25: sparse: undefined identifier 'constants' drivers/char/random_gcm.c:2371:19: sparse: undefined identifier 'constants' drivers/char/random_gcm.c:2652:38: sparse: undefined identifier 'counter' drivers/char/random_gcm.c:477:7: error: 'constants' undeclared here (not in a function) .A = constants, ^ drivers/char/random_gcm.c: In function 'mix_first': drivers/char/random_gcm.c:2652:31: error: 'counter' undeclared (first use in this function) addmul( (u8 *) accum, (u8 *) counter, 16, (u8 *) r->B) ; ^ drivers/char/random_gcm.c:2652:31: note: each undeclared identifier is reported only once for each function it appears in drivers/char/random_gcm.c: In function 'count': drivers/char/random_gcm.c:3471:4: error: 'counter' undeclared (first use in this function) counter[1] += counter[3] ; ^ drivers/char/random_gcm.c: In function 'buffer2counter': drivers/char/random_gcm.c:3541:2: error: 'counter' undeclared (first use in this function) counter[0] ^= jiffies ; ^ drivers/char/random_gcm.c: In function 'load_constants': drivers/char/random_gcm.c:3709:27: warning: left-hand operand of comma expression has no effect [-Wunused-value] for( i = 0, p = constants, ret = 1 ; ret && (i < ARRAY_WORDS) ; i++, p++ ) { ^ drivers/char/random_gcm.c:3709:51: error: 'ARRAY_WORDS' undeclared (first use in this function) for( i = 0, p = constants, ret = 1 ; ret && (i < ARRAY_WORDS) ; i++, p++ ) { ^ vim +/constants +477 drivers/char/random_gcm.c da17cbfa Sandy Harris 2015-11-07 461 unsigned int initialized:1; da17cbfa Sandy Harris 2015-11-07 462 unsigned int limit:1; da17cbfa Sandy Harris 2015-11-07 463 unsigned int last_data_init:1; da17cbfa Sandy Harris 2015-11-07 464 __u8 last_data[EXTRACT_SIZE]; da17cbfa Sandy Harris 2015-11-07 465 u32 *A, *B, which, count ; da17cbfa Sandy Harris 2015-11-07 466 u32 *p, *q, *end, size ; da17cbfa Sandy Harris 2015-11-07 467 }; da17cbfa Sandy Harris 2015-11-07 468 da17cbfa Sandy Harris 2015-11-07 469 static void push_to_pool(struct work_struct *work); da17cbfa Sandy Harris 2015-11-07 470 da17cbfa Sandy Harris 2015-11-07 471 static struct entropy_store input_pool = { da17cbfa Sandy Harris 2015-11-07 472 .poolinfo = &poolinfo_table[0], da17cbfa Sandy Harris 2015-11-07 473 .name = "input", da17cbfa Sandy Harris 2015-11-07 474 .limit = 1, da17cbfa Sandy Harris 2015-11-07 475 .lock = __SPIN_LOCK_UNLOCKED(input_pool.lock), da17cbfa Sandy Harris 2015-11-07 476 .pool = pools, da17cbfa Sandy Harris 2015-11-07 @477 .A = constants, da17cbfa Sandy Harris 2015-11-07 478 .B = constants+4, da17cbfa Sandy Harris 2015-11-07 479 .which = 0, da17cbfa Sandy Harris 2015-11-07 480 .count = 0, da17cbfa Sandy Harris 2015-11-07 481 .size = INPUT_POOL_WORDS, da17cbfa Sandy Harris 2015-11-07 482 .p = pools, da17cbfa Sandy Harris 2015-11-07 483 .q = pools + (INPUT_POOL_WORDS/2), da17cbfa Sandy Harris 2015-11-07 484 .end = pools + INPUT_POOL_WORDS da17cbfa Sandy Harris 2015-11-07 485 }; :::::: The code at line 477 was first introduced by commit :::::: da17cbfaa5c53120c6c5797cf2dc6bd4123b6869 Different version of driver using hash from AES-GCM Compiled if CONFIG_RANDOM_GCM=y :::::: TO: Sandy Harris :::::: CC: 0day robot --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation