Hi Andi, [auto build test ERROR on char-misc/char-misc-testing] [also build test ERROR on v4.5-rc3 next-20160210] [if your patch is applied to the wrong git tree, please drop us a note to help improving the system] url: https://github.com/0day-ci/linux/commits/Andi-Kleen/Make-dev-urandom-scalable/20160211-070625 config: x86_64-randconfig-x014-201606 (attached as .config) reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All error/warnings (new ones prefixed by >>): In file included from include/asm-generic/percpu.h:6:0, from arch/x86/include/asm/percpu.h:551, from arch/x86/include/asm/preempt.h:5, from include/linux/preempt.h:59, from include/linux/spinlock.h:50, from include/linux/seqlock.h:35, from include/linux/time.h:5, from include/uapi/linux/timex.h:56, from include/linux/timex.h:56, from include/linux/sched.h:19, from include/linux/utsname.h:5, from drivers/char/random.c:249: drivers/char/random.c: In function 'credit_entropy_bits': include/linux/percpu-defs.h:91:33: error: section attribute cannot be specified for local variables extern __PCPU_DUMMY_ATTRS char __pcpu_unique_##name; \ ^ include/linux/percpu-defs.h:116:2: note: in expansion of macro 'DEFINE_PER_CPU_SECTION' DEFINE_PER_CPU_SECTION(type, name, "") ^ >> drivers/char/random.c:777:11: note: in expansion of macro 'DEFINE_PER_CPU' static DEFINE_PER_CPU(struct entropy_store *, lastp) = ^ include/linux/percpu-defs.h:92:26: error: section attribute cannot be specified for local variables __PCPU_DUMMY_ATTRS char __pcpu_unique_##name; \ ^ include/linux/percpu-defs.h:116:2: note: in expansion of macro 'DEFINE_PER_CPU_SECTION' DEFINE_PER_CPU_SECTION(type, name, "") ^ >> drivers/char/random.c:777:11: note: in expansion of macro 'DEFINE_PER_CPU' static DEFINE_PER_CPU(struct entropy_store *, lastp) = ^ >> include/linux/percpu-defs.h:92:26: error: declaration of '__pcpu_unique_lastp' with no linkage follows extern declaration __PCPU_DUMMY_ATTRS char __pcpu_unique_##name; \ ^ include/linux/percpu-defs.h:116:2: note: in expansion of macro 'DEFINE_PER_CPU_SECTION' DEFINE_PER_CPU_SECTION(type, name, "") ^ >> drivers/char/random.c:777:11: note: in expansion of macro 'DEFINE_PER_CPU' static DEFINE_PER_CPU(struct entropy_store *, lastp) = ^ include/linux/percpu-defs.h:91:33: note: previous declaration of '__pcpu_unique_lastp' was here extern __PCPU_DUMMY_ATTRS char __pcpu_unique_##name; \ ^ include/linux/percpu-defs.h:116:2: note: in expansion of macro 'DEFINE_PER_CPU_SECTION' DEFINE_PER_CPU_SECTION(type, name, "") ^ >> drivers/char/random.c:777:11: note: in expansion of macro 'DEFINE_PER_CPU' static DEFINE_PER_CPU(struct entropy_store *, lastp) = ^ >> drivers/char/random.c:777:50: error: section attribute cannot be specified for local variables static DEFINE_PER_CPU(struct entropy_store *, lastp) = ^ include/linux/percpu-defs.h:93:44: note: in definition of macro 'DEFINE_PER_CPU_SECTION' extern __PCPU_ATTRS(sec) __typeof__(type) name; \ ^ >> drivers/char/random.c:777:11: note: in expansion of macro 'DEFINE_PER_CPU' static DEFINE_PER_CPU(struct entropy_store *, lastp) = ^ >> drivers/char/random.c:777:50: error: section attribute cannot be specified for local variables static DEFINE_PER_CPU(struct entropy_store *, lastp) = ^ include/linux/percpu-defs.h:95:19: note: in definition of macro 'DEFINE_PER_CPU_SECTION' __typeof__(type) name ^ >> drivers/char/random.c:777:11: note: in expansion of macro 'DEFINE_PER_CPU' static DEFINE_PER_CPU(struct entropy_store *, lastp) = ^ >> drivers/char/random.c:777:50: error: weak declaration of 'lastp' must be public static DEFINE_PER_CPU(struct entropy_store *, lastp) = ^ include/linux/percpu-defs.h:95:19: note: in definition of macro 'DEFINE_PER_CPU_SECTION' __typeof__(type) name ^ >> drivers/char/random.c:777:11: note: in expansion of macro 'DEFINE_PER_CPU' static DEFINE_PER_CPU(struct entropy_store *, lastp) = ^ >> drivers/char/random.c:777:50: error: declaration of 'lastp' with no linkage follows extern declaration static DEFINE_PER_CPU(struct entropy_store *, lastp) = ^ include/linux/percpu-defs.h:95:19: note: in definition of macro 'DEFINE_PER_CPU_SECTION' __typeof__(type) name ^ >> drivers/char/random.c:777:11: note: in expansion of macro 'DEFINE_PER_CPU' static DEFINE_PER_CPU(struct entropy_store *, lastp) = ^ drivers/char/random.c:777:50: note: previous declaration of 'lastp' was here static DEFINE_PER_CPU(struct entropy_store *, lastp) = ^ include/linux/percpu-defs.h:93:44: note: in definition of macro 'DEFINE_PER_CPU_SECTION' extern __PCPU_ATTRS(sec) __typeof__(type) name; \ ^ >> drivers/char/random.c:777:11: note: in expansion of macro 'DEFINE_PER_CPU' static DEFINE_PER_CPU(struct entropy_store *, lastp) = ^ include/linux/percpu-defs.h:91:33: error: section attribute cannot be specified for local variables extern __PCPU_DUMMY_ATTRS char __pcpu_unique_##name; \ ^ include/linux/percpu-defs.h:116:2: note: in expansion of macro 'DEFINE_PER_CPU_SECTION' DEFINE_PER_CPU_SECTION(type, name, "") ^ drivers/char/random.c:779:11: note: in expansion of macro 'DEFINE_PER_CPU' static DEFINE_PER_CPU(int, next_pool); ^ include/linux/percpu-defs.h:92:26: error: section attribute cannot be specified for local variables __PCPU_DUMMY_ATTRS char __pcpu_unique_##name; \ ^ include/linux/percpu-defs.h:116:2: note: in expansion of macro 'DEFINE_PER_CPU_SECTION' DEFINE_PER_CPU_SECTION(type, name, "") ^ drivers/char/random.c:779:11: note: in expansion of macro 'DEFINE_PER_CPU' static DEFINE_PER_CPU(int, next_pool); ^ >> include/linux/percpu-defs.h:92:26: error: declaration of '__pcpu_unique_next_pool' with no linkage follows extern declaration __PCPU_DUMMY_ATTRS char __pcpu_unique_##name; \ ^ include/linux/percpu-defs.h:116:2: note: in expansion of macro 'DEFINE_PER_CPU_SECTION' DEFINE_PER_CPU_SECTION(type, name, "") ^ drivers/char/random.c:779:11: note: in expansion of macro 'DEFINE_PER_CPU' static DEFINE_PER_CPU(int, next_pool); ^ include/linux/percpu-defs.h:91:33: note: previous declaration of '__pcpu_unique_next_pool' was here extern __PCPU_DUMMY_ATTRS char __pcpu_unique_##name; \ ^ include/linux/percpu-defs.h:116:2: note: in expansion of macro 'DEFINE_PER_CPU_SECTION' DEFINE_PER_CPU_SECTION(type, name, "") ^ drivers/char/random.c:779:11: note: in expansion of macro 'DEFINE_PER_CPU' static DEFINE_PER_CPU(int, next_pool); ^ drivers/char/random.c:779:31: error: section attribute cannot be specified for local variables static DEFINE_PER_CPU(int, next_pool); ^ include/linux/percpu-defs.h:93:44: note: in definition of macro 'DEFINE_PER_CPU_SECTION' extern __PCPU_ATTRS(sec) __typeof__(type) name; \ ^ drivers/char/random.c:779:11: note: in expansion of macro 'DEFINE_PER_CPU' static DEFINE_PER_CPU(int, next_pool); ^ drivers/char/random.c:779:31: error: section attribute cannot be specified for local variables static DEFINE_PER_CPU(int, next_pool); ^ include/linux/percpu-defs.h:95:19: note: in definition of macro 'DEFINE_PER_CPU_SECTION' __typeof__(type) name ^ drivers/char/random.c:779:11: note: in expansion of macro 'DEFINE_PER_CPU' static DEFINE_PER_CPU(int, next_pool); ^ >> drivers/char/random.c:779:31: error: weak declaration of 'next_pool' must be public static DEFINE_PER_CPU(int, next_pool); ^ include/linux/percpu-defs.h:95:19: note: in definition of macro 'DEFINE_PER_CPU_SECTION' __typeof__(type) name ^ drivers/char/random.c:779:11: note: in expansion of macro 'DEFINE_PER_CPU' static DEFINE_PER_CPU(int, next_pool); ^ >> drivers/char/random.c:779:31: error: declaration of 'next_pool' with no linkage follows extern declaration static DEFINE_PER_CPU(int, next_pool); ^ include/linux/percpu-defs.h:95:19: note: in definition of macro 'DEFINE_PER_CPU_SECTION' __typeof__(type) name ^ drivers/char/random.c:779:11: note: in expansion of macro 'DEFINE_PER_CPU' static DEFINE_PER_CPU(int, next_pool); ^ drivers/char/random.c:779:31: note: previous declaration of 'next_pool' was here static DEFINE_PER_CPU(int, next_pool); ^ include/linux/percpu-defs.h:93:44: note: in definition of macro 'DEFINE_PER_CPU_SECTION' extern __PCPU_ATTRS(sec) __typeof__(type) name; \ ^ drivers/char/random.c:779:11: note: in expansion of macro 'DEFINE_PER_CPU' static DEFINE_PER_CPU(int, next_pool); ^ vim +777 drivers/char/random.c 771 * full. 772 * Feed into all pools round robin. 773 */ 774 if (entropy_bits > random_write_wakeup_bits && 775 r->initialized && 776 r->entropy_total >= 2*random_read_wakeup_bits) { > 777 static DEFINE_PER_CPU(struct entropy_store *, lastp) = 778 &blocking_pool; > 779 static DEFINE_PER_CPU(int, next_pool); 780 struct entropy_store *other = &blocking_pool, *last; 781 int np; 782 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation