Hi Tamir, kernel test robot noticed the following build warnings: [auto build test WARNING on 2014c95afecee3e76ca4a56956a936e23283f05b] url: https://github.com/intel-lab-lkp/linux/commits/Tamir-Duberstein/lib-math-Hook-up-tests-Makefile/20250208-220040 base: 2014c95afecee3e76ca4a56956a936e23283f05b patch link: https://lore.kernel.org/r/20250208-prime_numbers-kunit-convert-v2-2-863119447e04%40gmail.com patch subject: [PATCH v2 2/2] lib/prime_numbers: convert self-test to KUnit config: i386-buildonly-randconfig-001-20250209 (https://download.01.org/0day-ci/archive/20250209/202502090509.wLhmGzkc-lkp@xxxxxxxxx/config) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250209/202502090509.wLhmGzkc-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/202502090509.wLhmGzkc-lkp@xxxxxxxxx/ All warnings (new ones prefixed by >>): lib/math/prime_numbers.c: In function 'expand_to_next_prime': lib/math/prime_numbers.c:126:15: error: implicit declaration of function 'kmalloc'; did you mean 'mm_alloc'? [-Werror=implicit-function-declaration] 126 | new = kmalloc(sizeof(*new) + bitmap_size(sz), | ^~~~~~~ | mm_alloc >> lib/math/prime_numbers.c:126:13: warning: assignment to 'struct primes *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 126 | new = kmalloc(sizeof(*new) + bitmap_size(sz), | ^ lib/math/prime_numbers.c:134:17: error: implicit declaration of function 'kfree' [-Werror=implicit-function-declaration] 134 | kfree(new); | ^~~~~ cc1: some warnings being treated as errors vim +126 lib/math/prime_numbers.c cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 106 cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 107 static bool expand_to_next_prime(unsigned long x) cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 108 { cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 109 const struct primes *p; cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 110 struct primes *new; cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 111 unsigned long sz, y; cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 112 cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 113 /* Betrand's Postulate (or Chebyshev's theorem) states that if n > 3, cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 114 * there is always at least one prime p between n and 2n - 2. cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 115 * Equivalently, if n > 1, then there is always at least one prime p cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 116 * such that n < p < 2n. cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 117 * cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 118 * http://mathworld.wolfram.com/BertrandsPostulate.html cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 119 * https://en.wikipedia.org/wiki/Bertrand's_postulate cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 120 */ cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 121 sz = 2 * x; cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 122 if (sz < x) cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 123 return false; cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 124 cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 125 sz = round_up(sz, BITS_PER_LONG); 717c8ae7aae4f2 lib/prime_numbers.c Chris Wilson 2017-01-13 @126 new = kmalloc(sizeof(*new) + bitmap_size(sz), 717c8ae7aae4f2 lib/prime_numbers.c Chris Wilson 2017-01-13 127 GFP_KERNEL | __GFP_NOWARN); cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 128 if (!new) cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 129 return false; cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 130 cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 131 mutex_lock(&lock); cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 132 p = rcu_dereference_protected(primes, lockdep_is_held(&lock)); cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 133 if (x < p->last) { cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 134 kfree(new); cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 135 goto unlock; cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 136 } cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 137 cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 138 /* Where memory permits, track the primes using the cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 139 * Sieve of Eratosthenes. The sieve is to remove all multiples of known cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 140 * primes from the set, what remains in the set is therefore prime. cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 141 */ cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 142 bitmap_fill(new->primes, sz); cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 143 bitmap_copy(new->primes, p->primes, p->sz); cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 144 for (y = 2UL; y < sz; y = find_next_bit(new->primes, sz, y + 1)) cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 145 new->last = clear_multiples(y, new->primes, p->sz, sz); cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 146 new->sz = sz; cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 147 cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 148 BUG_ON(new->last <= x); cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 149 cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 150 rcu_assign_pointer(primes, new); cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 151 if (p != &small_primes) cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 152 kfree_rcu((struct primes *)p, rcu); cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 153 cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 154 unlock: cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 155 mutex_unlock(&lock); cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 156 return true; cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 157 } cf4a7207b1cb4a lib/prime_numbers.c Chris Wilson 2016-12-22 158 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki