Hi "Jason,
I love your patch! Yet something to improve:
[auto build test ERROR on next-20220211]
[cannot apply to char-misc/char-misc-testing linux/master linus/master v5.17-rc3 v5.17-rc2
v5.17-rc1 v5.17-rc3]
[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]
url:
https://github.com/0day-ci/linux/commits/Jason-A-Donenfeld/random-do-not-...
base: 6d9bd4ad4ca08b1114e814c2c42383b8b13be631
config: um-x86_64_defconfig
(
https://download.01.org/0day-ci/archive/20220212/202202121318.QSBkUcwP-lk...)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
#
https://github.com/0day-ci/linux/commit/cac377f6ab22a8bfe966643ebe19812e8...
git remote add linux-review
https://github.com/0day-ci/linux
git fetch --no-tags linux-review
Jason-A-Donenfeld/random-do-not-take-pool-spinlock-at-boot/20220212-083131
git checkout cac377f6ab22a8bfe966643ebe19812e8187de3b
# save the config file to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=um SUBARCH=x86_64 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/char/random.c: In function 'rand_initialize':
> drivers/char/random.c:162:3: error: implicit declaration of
function '_mix_pool_bytes'; did you mean 'mix_pool_bytes'?
[-Werror=implicit-function-declaration]
162 | _mix_pool_bytes(&rv,
sizeof(rv));
| ^~~~~~~~~~~~~~~
| mix_pool_bytes
drivers/char/random.c: At top level:
drivers/char/random.c:822:13: warning: conflicting types for '_mix_pool_bytes'
822 | static void _mix_pool_bytes(const void *in, size_t nbytes)
| ^~~~~~~~~~~~~~~
> drivers/char/random.c:822:13: error: static declaration of
'_mix_pool_bytes' follows non-static declaration
drivers/char/random.c:162:3: note: previous implicit declaration of
'_mix_pool_bytes' was here
162 | _mix_pool_bytes(&rv, sizeof(rv));
| ^~~~~~~~~~~~~~~
drivers/char/random.c:1109:6: warning: no previous prototype for
'add_hwgenerator_randomness' [-Wmissing-prototypes]
1109 | void add_hwgenerator_randomness(const void *buffer, size_t count,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +162 drivers/char/random.c
138
139 /*
140 * Note that setup_arch() may call add_device_randomness()
141 * long before we get here. This allows seeding of the pools
142 * with some platform dependent data very early in the boot
143 * process. But it limits our options here. We must use
144 * statically allocated structures that already have all
145 * initializations complete at compile time. We should also
146 * take care not to overwrite the precious per platform data
147 * we were given.
148 */
149 int __init rand_initialize(void)
150 {
151 size_t i;
152 ktime_t now = ktime_get_real();
153 bool arch_init = true;
154 unsigned long rv;
155
156 for (i = BLAKE2S_BLOCK_SIZE; i > 0; i -= sizeof(rv)) {
157 if (!arch_get_random_seed_long_early(&rv) &&
158 !arch_get_random_long_early(&rv)) {
159 rv = random_get_entropy();
160 arch_init = false;
161 }
162 _mix_pool_bytes(&rv, sizeof(rv));
163 }
164 _mix_pool_bytes(&now, sizeof(now));
165 _mix_pool_bytes(utsname(), sizeof(*(utsname())));
166
167 extract_entropy(base_crng.key, sizeof(base_crng.key));
168 ++base_crng.generation;
169
170 if (arch_init && trust_cpu && crng_init < 2) {
171 crng_init = 2;
172 pr_notice("crng init done (trusting CPU's manufacturer)\n");
173 }
174
175 if (ratelimit_disable) {
176 urandom_warning.interval = 0;
177 unseeded_warning.interval = 0;
178 }
179 return 0;
180 }
181
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org