[ammarfaizi2-block:dhowells/linux-fs/netfs-maple 28/43] fs/netfs/write_helper.c:28:26: warning: comparison of distinct pointer types ('typeof (((1UL) << (12)) - offset) *' (aka 'unsigned long *') and 'typeof (size) *' (aka 'unsigned int *'))
by kernel test robot
tree: https://github.com/ammarfaizi2/linux-block dhowells/linux-fs/netfs-maple
head: d40df0841e9f8de3713a19dd3f0ba283c860cb93
commit: 7de6bd1573006959937bf5d90e85f16cdec38284 [28/43] netfs: Implement buffered writes through netfs_file_write_iter()
config: riscv-randconfig-r033-20220214 (https://download.01.org/0day-ci/archive/20220216/202202160826.zdpmsgyh-lk...)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 37f422f4ac31c8b8041c6b62065263314282dab6)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://github.com/ammarfaizi2/linux-block/commit/7de6bd1573006959937bf5d...
git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
git fetch --no-tags ammarfaizi2-block dhowells/linux-fs/netfs-maple
git checkout 7de6bd1573006959937bf5d90e85f16cdec38284
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash fs/netfs/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> fs/netfs/write_helper.c:28:26: warning: comparison of distinct pointer types ('typeof (((1UL) << (12)) - offset) *' (aka 'unsigned long *') and 'typeof (size) *' (aka 'unsigned int *')) [-Wcompare-distinct-pointer-types]
unsigned int psize = min(PAGE_SIZE - offset, size);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:45:19: note: expanded from macro 'min'
#define min(x, y) __careful_cmp(x, y, <)
^~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:36:24: note: expanded from macro '__careful_cmp'
__builtin_choose_expr(__safe_cmp(x, y), \
^~~~~~~~~~~~~~~~
include/linux/minmax.h:26:4: note: expanded from macro '__safe_cmp'
(__typecheck(x, y) && __no_side_effects(x, y))
^~~~~~~~~~~~~~~~~
include/linux/minmax.h:20:28: note: expanded from macro '__typecheck'
(!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~
fs/netfs/write_helper.c:95:18: warning: comparison of distinct pointer types ('typeof (target->from) *' (aka 'unsigned long long *') and 'typeof (folio_pos(folio) + offset) *' (aka 'long long *')) [-Wcompare-distinct-pointer-types]
target->from = min(target->from, folio_pos(folio) + offset);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:45:19: note: expanded from macro 'min'
#define min(x, y) __careful_cmp(x, y, <)
^~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:36:24: note: expanded from macro '__careful_cmp'
__builtin_choose_expr(__safe_cmp(x, y), \
^~~~~~~~~~~~~~~~
include/linux/minmax.h:26:4: note: expanded from macro '__safe_cmp'
(__typecheck(x, y) && __no_side_effects(x, y))
^~~~~~~~~~~~~~~~~
include/linux/minmax.h:20:28: note: expanded from macro '__typecheck'
(!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~
fs/netfs/write_helper.c:96:18: warning: comparison of distinct pointer types ('typeof (target->to) *' (aka 'unsigned long long *') and 'typeof (folio_pos(folio) + offset + len) *' (aka 'long long *')) [-Wcompare-distinct-pointer-types]
target->to = max(target->to, folio_pos(folio) + offset + len);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:52:19: note: expanded from macro 'max'
#define max(x, y) __careful_cmp(x, y, >)
^~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:36:24: note: expanded from macro '__careful_cmp'
__builtin_choose_expr(__safe_cmp(x, y), \
^~~~~~~~~~~~~~~~
include/linux/minmax.h:26:4: note: expanded from macro '__safe_cmp'
(__typecheck(x, y) && __no_side_effects(x, y))
^~~~~~~~~~~~~~~~~
include/linux/minmax.h:20:28: note: expanded from macro '__typecheck'
(!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~
3 warnings generated.
vim +28 fs/netfs/write_helper.c
18
19 static size_t copy_folio_from_iter_atomic(struct folio *folio,
20 unsigned int offset, size_t size,
21 struct iov_iter *i)
22 {
23 size_t copied = 0, n;
24
25 do {
26 unsigned int index = offset / PAGE_SIZE;
27 unsigned int poffset = offset % PAGE_SIZE;
> 28 unsigned int psize = min(PAGE_SIZE - offset, size);
29
30 n = copy_page_from_iter_atomic(folio_file_page(folio, index),
31 poffset, psize, i);
32 copied += n;
33 if (n < psize)
34 break;
35 size -= n;
36 } while (size);
37 return copied;
38 }
39
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
7 months
Re: [PATCH 5/7] hwmon: (dell-smm) Improve assembly code
by kernel test robot
Hi Armin,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on groeck-staging/hwmon-next]
[also build test ERROR on next-20220215]
[cannot apply to linus/master v5.17-rc4]
[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/Armin-Wolf/hwmon-dell-smm-Miscel...
base: https://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git hwmon-next
config: i386-randconfig-a004-20220214 (https://download.01.org/0day-ci/archive/20220216/202202160842.6EYIVsJn-lk...)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 37f422f4ac31c8b8041c6b62065263314282dab6)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/e03bd707be4885b219afdfd7a24778fb0...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Armin-Wolf/hwmon-dell-smm-Miscellaneous-improvements/20220216-031722
git checkout e03bd707be4885b219afdfd7a24778fb0a8129e1
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 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/hwmon/dell-smm-hwmon.c:178:15: error: inline assembly requires more registers than available
asm volatile("out %%al,$0xb2\n\t"
^
1 error generated.
vim +178 drivers/hwmon/dell-smm-hwmon.c
161
162 /*
163 * Call the System Management Mode BIOS. Code provided by Jonathan Buzzard.
164 */
165 static int i8k_smm_func(void *par)
166 {
167 ktime_t calltime = ktime_get();
168 struct smm_regs *regs = par;
169 int eax = regs->eax;
170 int ebx = regs->ebx;
171 long long duration;
172 int rc;
173
174 /* SMM requires CPU 0 */
175 if (smp_processor_id() != 0)
176 return -EBUSY;
177
> 178 asm volatile("out %%al,$0xb2\n\t"
179 "out %%al,$0x84\n"
180 : "=a" (regs->eax),
181 "=b" (regs->ebx),
182 "=c" (regs->ecx),
183 "=d" (regs->edx),
184 "=S" (regs->esi),
185 "=D" (regs->edi),
186 CC_OUT(c) (rc)
187 : "a" (regs->eax),
188 "b" (regs->ebx),
189 "c" (regs->ecx),
190 "d" (regs->edx),
191 "S" (regs->esi),
192 "D" (regs->edi));
193
194 if (rc != 0 || (regs->eax & 0xffff) == 0xffff || regs->eax == eax)
195 rc = -EINVAL;
196
197 duration = ktime_us_delta(ktime_get(), calltime);
198 pr_debug("smm(0x%.4x 0x%.4x) = 0x%.4x (took %7lld usecs)\n", eax, ebx,
199 (rc ? 0xffff : regs->eax & 0xffff), duration);
200
201 return rc;
202 }
203
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
7 months
[ammarfaizi2-block:dhowells/linux-fs/netfs-maple 43/43] fs/netfs/flush.c:470:9: error: implicit declaration of function 'netfs_proc_add_writeback'; did you mean 'netfs_proc_add_wback'?
by kernel test robot
tree: https://github.com/ammarfaizi2/linux-block dhowells/linux-fs/netfs-maple
head: d40df0841e9f8de3713a19dd3f0ba283c860cb93
commit: d40df0841e9f8de3713a19dd3f0ba283c860cb93 [43/43] netfs: Provide /proc/fs/netfs/writebacks to display writeback slices
config: arc-randconfig-r031-20220214 (https://download.01.org/0day-ci/archive/20220216/202202160750.mCa1PQLO-lk...)
compiler: arceb-elf-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/ammarfaizi2/linux-block/commit/d40df0841e9f8de3713a19d...
git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
git fetch --no-tags ammarfaizi2-block dhowells/linux-fs/netfs-maple
git checkout d40df0841e9f8de3713a19dd3f0ba283c860cb93
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arc SHELL=/bin/bash fs/netfs/
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 >>):
fs/netfs/flush.c: In function 'netfs_flush_dirty':
>> fs/netfs/flush.c:470:9: error: implicit declaration of function 'netfs_proc_add_writeback'; did you mean 'netfs_proc_add_wback'? [-Werror=implicit-function-declaration]
470 | netfs_proc_add_writeback(wback);
| ^~~~~~~~~~~~~~~~~~~~~~~~
| netfs_proc_add_wback
At top level:
fs/netfs/flush.c:38:13: warning: 'netfs_flush_region' defined but not used [-Wunused-function]
38 | static void netfs_flush_region(struct netfs_i_context *ctx,
| ^~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
fs/netfs/objects.c: In function 'netfs_put_writeback':
>> fs/netfs/objects.c:160:25: error: implicit declaration of function 'netfs_proc_del_writeback'; did you mean 'netfs_proc_del_wback'? [-Werror=implicit-function-declaration]
160 | netfs_proc_del_writeback(wback);
| ^~~~~~~~~~~~~~~~~~~~~~~~
| netfs_proc_del_wback
cc1: some warnings being treated as errors
vim +470 fs/netfs/flush.c
292
293 /*
294 * Flush some of the dirty queue, transforming a part of a sequence of dirty
295 * regions into a block we can flush.
296 *
297 * A number of things constrain us:
298 * - The region we write out should not be undergoing modification
299 * - We may need to expand or split the region for a number of reasons:
300 * - Filesystem storage block/object size
301 * - Filesystem RPC size (wsize)
302 * - Cache block size
303 * - Cache DIO block size
304 * - Crypto/compression block size
305 *
306 * This may be entered multiple times simultaneously. Automatic flushing by
307 * the VM is serialised on I_SYNC, but things like fsync() may enter multiple
308 * times simultaneously.
309 */
310 static int netfs_flush_dirty(struct netfs_writeback *wback,
311 struct writeback_control *wbc,
312 struct netfs_i_context *ctx,
313 struct ma_state *mas,
314 pgoff_t *_first, pgoff_t last,
315 struct netfs_dirty_region *spares[2])
316 {
317 struct netfs_dirty_region *region;
318 struct folio *folio;
319 pgoff_t first = *_first;
320 pgoff_t csize = 1UL << ctx->cache_order;
321 long ret;
322
323 XA_STATE(xas, &wback->mapping->i_pages, 0);
324
325 /* Round out the range we're looking through to accommodate whole cache
326 * blocks. The cache may only be able to store blocks of that size, in
327 * which case we may need to add non-dirty pages to the buffer too.
328 */
329 if (ctx->cache_order) {
330 first = round_down(first, csize);
331 last = round_up_incl(last, csize);
332 }
333
334 _enter("%lx-%lx", first, last);
335
336 rcu_read_lock();
337 mtree_lock(&ctx->dirty_regions);
338
339 /* Find the first dirty region that overlaps the requested range */
340 mas_set(mas, first);
341 do {
342 region = mas_find(mas, last);
343 if (!region)
344 goto found_nothing;
345 } while (netfs_mas_is_flushing(region) ||
346 (netfs_mas_is_valid(region) && region->waiting_on_wb));
347
348 _debug("query D=%x %lx-%lx",
349 netfs_mas_is_valid(region) ? region->debug_id : 0,
350 mas->index, mas->last);
351
352 wback->first = max(mas->index, first);
353 if (wback->first > 0) {
354 _debug("nonz %lx", wback->first);
355
356 /* The first folio might extend backwards beyond the start of
357 * the proposed region - in which case we need to include that
358 * also. But at least, in such a case, the folio size has to
359 * be an integer multiple of the cache blocksize.
360 */
361 if (mas->index < wback->first) {
362 _debug("check folio %lx", wback->first);
363 xas_set(&xas, wback->first);
364 do {
365 xas_reset(&xas);
366 folio = xas_load(&xas);
367 } while (xas_retry(&xas, folio));
368
369 if (folio && !xa_is_value(folio)) {
370 _debug("check folio %lx", folio->index);
371 /* A region span *should not* end in the middle of a folio. */
372 BUG_ON(folio->index < mas->index);
373 if (folio->index < wback->first) {
374 wback->first = folio->index;
375 mas_set_range(mas, wback->first, mas->last);
376 }
377 }
378 }
379
380 _debug("fol %lx", wback->first);
381
382 if (mas->index < wback->first) {
383 pgoff_t saved_last = mas->last;
384 _debug("splitf %lx-%lx %lx", mas->index, mas->last, first);
385 netfs_split_off_front(ctx, mas, region, &spares[0], first - 1,
386 netfs_dirty_trace_split_off_front);
387 mas_set_range(mas, first, saved_last);
388 }
389
390 wback->last = mas->last;
391 }
392
393 while (mas->last < last) {
394 _debug("store %lx-%lx", mas->index, mas->last);
395 wback->last = mas->last;
396 mas_store(mas, netfs_mas_set_flushing(region));
397 if (region != NETFS_COPY_TO_CACHE) {
398 list_add_tail(®ion->flush_link, &wback->regions);
399 trace_netfs_dirty(ctx, region, 0, mas->index, mas->last,
400 netfs_dirty_trace_flush);
401 }
402
403 region = mas_next(mas, mas->last + 1);
404 if (!region || netfs_mas_is_flushing(region) ||
405 region->waiting_on_wb)
406 goto no_more;
407 if (mas->last >= last)
408 break;
409 _debug("query+ D=%x %lx-%lx",
410 netfs_mas_is_valid(region) ? region->debug_id : 0,
411 mas->index, mas->last);
412 }
413
414 /* Deal with the region we're looking at exceeding the specified range.
415 * In such a case, we need to split the region - and the last folio may
416 * extend beyond the end of the proposed region - in which case we need
417 * to include that also. And, again, the folio size has to be an
418 * integer multiple of the cache blocksize.
419 */
420 if (mas->last > last) {
421 xas_set(&xas, last);
422 do {
423 xas_reset(&xas);
424 folio = xas_load(&xas);
425 } while (xas_retry(&xas, folio));
426
427 if (folio && !xa_is_value(folio)) {
428 pgoff_t flast = folio_next_index(folio) - 1;
429
430 _debug("flast %lx %lx %lx", flast, mas->last, last);
431 /* A region span *should not* end in the middle of a folio. */
432 BUG_ON(flast > mas->last);
433 if (flast > last) {
434 last = flast;
435 mas_set_range(mas, mas->index, last);
436 }
437 }
438
439 region = netfs_split_off_front(ctx, mas, region, &spares[1], last,
440 netfs_dirty_trace_split_off_back);
441 }
442
443 wback->last = mas->last;
444 mas_store(mas, netfs_mas_set_flushing(region));
445 if (region != NETFS_COPY_TO_CACHE) {
446 list_add_tail(®ion->flush_link, &wback->regions);
447 trace_netfs_dirty(ctx, region, 0, mas->index, mas->last,
448 netfs_dirty_trace_flush2);
449 }
450
451 no_more:
452 /* We've now got a contiguous span. Some of the subspans may only need
453 * writing to the cache, whilst others need writing to both the server
454 * and the cache.
455 */
456 _debug("span %lx-%lx", wback->first, wback->last);
457 *_first = last + 1;
458 mtree_unlock(&ctx->dirty_regions);
459 rcu_read_unlock();
460
461 /* Load the pages into the raw-data buffer and transition them over to
462 * the writeback state.
463 */
464 ret = netfs_flush_get_pages(wback, ctx);
465 if (ret < 0)
466 goto undo;
467
468 netfs_writeback_lock(wback);
469 netfs_writeback_start(wback);
> 470 netfs_proc_add_writeback(wback);
471 trace_netfs_wback(wback);
472
473 wbc->nr_to_write -= wback->last - wback->first + 1;
474 *_first = wback->last + 1;
475 _leave(" = %lx [%lx]", wback->last - wback->first + 1, *_first);
476 return 1;
477
478 found_nothing:
479 *_first = last + 1;
480 mtree_unlock(&ctx->dirty_regions);
481 rcu_read_unlock();
482 return 0;
483
484 undo:
485 BUG(); // TODO
486 }
487
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
7 months
Re: [PATCH] kasan: test: support async (again) and asymm modes for HW_TAGS
by kernel test robot
Hi,
I love your patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v5.17-rc4 next-20220215]
[cannot apply to hnaz-mm/master]
[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/andrey-konovalov-linux-dev/kasan...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git d567f5db412ed52de0b3b3efca4a451263de6108
config: arm-allmodconfig (https://download.01.org/0day-ci/archive/20220216/202202160721.IhkGJaXa-lk...)
compiler: arm-linux-gnueabi-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/50334edb33a25643468715fbfc0e6d4a7...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review andrey-konovalov-linux-dev/kasan-test-support-async-again-and-asymm-modes-for-HW_TAGS/20220215-232923
git checkout 50334edb33a25643468715fbfc0e6d4a7d594432
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arm SHELL=/bin/bash lib// mm/
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 >>):
In file included from <command-line>:
mm/kasan/report.c: In function 'kasan_update_kunit_status':
>> mm/kasan/report.c:360:26: error: invalid use of undefined type 'struct kunit_kasan_status'
360 | WRITE_ONCE(status->report_found, true);
| ^~
include/linux/compiler_types.h:326:23: note: in definition of macro '__compiletime_assert'
326 | if (!(condition)) \
| ^~~~~~~~~
include/linux/compiler_types.h:346:9: note: in expansion of macro '_compiletime_assert'
346 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:60:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
60 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mm/kasan/report.c:360:9: note: in expansion of macro 'WRITE_ONCE'
360 | WRITE_ONCE(status->report_found, true);
| ^~~~~~~~~~
>> mm/kasan/report.c:360:26: error: invalid use of undefined type 'struct kunit_kasan_status'
360 | WRITE_ONCE(status->report_found, true);
| ^~
include/linux/compiler_types.h:326:23: note: in definition of macro '__compiletime_assert'
326 | if (!(condition)) \
| ^~~~~~~~~
include/linux/compiler_types.h:346:9: note: in expansion of macro '_compiletime_assert'
346 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:60:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
60 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mm/kasan/report.c:360:9: note: in expansion of macro 'WRITE_ONCE'
360 | WRITE_ONCE(status->report_found, true);
| ^~~~~~~~~~
>> mm/kasan/report.c:360:26: error: invalid use of undefined type 'struct kunit_kasan_status'
360 | WRITE_ONCE(status->report_found, true);
| ^~
include/linux/compiler_types.h:326:23: note: in definition of macro '__compiletime_assert'
326 | if (!(condition)) \
| ^~~~~~~~~
include/linux/compiler_types.h:346:9: note: in expansion of macro '_compiletime_assert'
346 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:60:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
60 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mm/kasan/report.c:360:9: note: in expansion of macro 'WRITE_ONCE'
360 | WRITE_ONCE(status->report_found, true);
| ^~~~~~~~~~
>> mm/kasan/report.c:360:26: error: invalid use of undefined type 'struct kunit_kasan_status'
360 | WRITE_ONCE(status->report_found, true);
| ^~
include/linux/compiler_types.h:326:23: note: in definition of macro '__compiletime_assert'
326 | if (!(condition)) \
| ^~~~~~~~~
include/linux/compiler_types.h:346:9: note: in expansion of macro '_compiletime_assert'
346 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:60:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
60 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mm/kasan/report.c:360:9: note: in expansion of macro 'WRITE_ONCE'
360 | WRITE_ONCE(status->report_found, true);
| ^~~~~~~~~~
>> mm/kasan/report.c:360:26: error: invalid use of undefined type 'struct kunit_kasan_status'
360 | WRITE_ONCE(status->report_found, true);
| ^~
include/linux/compiler_types.h:326:23: note: in definition of macro '__compiletime_assert'
326 | if (!(condition)) \
| ^~~~~~~~~
include/linux/compiler_types.h:346:9: note: in expansion of macro '_compiletime_assert'
346 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:60:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
60 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mm/kasan/report.c:360:9: note: in expansion of macro 'WRITE_ONCE'
360 | WRITE_ONCE(status->report_found, true);
| ^~~~~~~~~~
In file included from ./arch/arm/include/generated/asm/rwonce.h:1,
from include/linux/compiler.h:255,
from include/linux/build_bug.h:5,
from include/linux/bits.h:22,
from include/linux/bitops.h:6,
from mm/kasan/report.c:12:
>> mm/kasan/report.c:360:26: error: invalid use of undefined type 'struct kunit_kasan_status'
360 | WRITE_ONCE(status->report_found, true);
| ^~
include/asm-generic/rwonce.h:55:27: note: in definition of macro '__WRITE_ONCE'
55 | *(volatile typeof(x) *)&(x) = (val); \
| ^
mm/kasan/report.c:360:9: note: in expansion of macro 'WRITE_ONCE'
360 | WRITE_ONCE(status->report_found, true);
| ^~~~~~~~~~
>> mm/kasan/report.c:360:26: error: invalid use of undefined type 'struct kunit_kasan_status'
360 | WRITE_ONCE(status->report_found, true);
| ^~
include/asm-generic/rwonce.h:55:34: note: in definition of macro '__WRITE_ONCE'
55 | *(volatile typeof(x) *)&(x) = (val); \
| ^
mm/kasan/report.c:360:9: note: in expansion of macro 'WRITE_ONCE'
360 | WRITE_ONCE(status->report_found, true);
| ^~~~~~~~~~
In file included from <command-line>:
mm/kasan/report.c:361:26: error: invalid use of undefined type 'struct kunit_kasan_status'
361 | WRITE_ONCE(status->sync_fault, sync);
| ^~
include/linux/compiler_types.h:326:23: note: in definition of macro '__compiletime_assert'
326 | if (!(condition)) \
| ^~~~~~~~~
include/linux/compiler_types.h:346:9: note: in expansion of macro '_compiletime_assert'
346 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:60:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
60 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mm/kasan/report.c:361:9: note: in expansion of macro 'WRITE_ONCE'
361 | WRITE_ONCE(status->sync_fault, sync);
| ^~~~~~~~~~
mm/kasan/report.c:361:26: error: invalid use of undefined type 'struct kunit_kasan_status'
361 | WRITE_ONCE(status->sync_fault, sync);
| ^~
include/linux/compiler_types.h:326:23: note: in definition of macro '__compiletime_assert'
326 | if (!(condition)) \
| ^~~~~~~~~
include/linux/compiler_types.h:346:9: note: in expansion of macro '_compiletime_assert'
346 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:60:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
60 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mm/kasan/report.c:361:9: note: in expansion of macro 'WRITE_ONCE'
361 | WRITE_ONCE(status->sync_fault, sync);
| ^~~~~~~~~~
mm/kasan/report.c:361:26: error: invalid use of undefined type 'struct kunit_kasan_status'
361 | WRITE_ONCE(status->sync_fault, sync);
| ^~
include/linux/compiler_types.h:326:23: note: in definition of macro '__compiletime_assert'
326 | if (!(condition)) \
| ^~~~~~~~~
include/linux/compiler_types.h:346:9: note: in expansion of macro '_compiletime_assert'
346 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:60:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
60 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mm/kasan/report.c:361:9: note: in expansion of macro 'WRITE_ONCE'
361 | WRITE_ONCE(status->sync_fault, sync);
| ^~~~~~~~~~
mm/kasan/report.c:361:26: error: invalid use of undefined type 'struct kunit_kasan_status'
361 | WRITE_ONCE(status->sync_fault, sync);
| ^~
include/linux/compiler_types.h:326:23: note: in definition of macro '__compiletime_assert'
326 | if (!(condition)) \
| ^~~~~~~~~
include/linux/compiler_types.h:346:9: note: in expansion of macro '_compiletime_assert'
346 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:60:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
60 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mm/kasan/report.c:361:9: note: in expansion of macro 'WRITE_ONCE'
361 | WRITE_ONCE(status->sync_fault, sync);
| ^~~~~~~~~~
mm/kasan/report.c:361:26: error: invalid use of undefined type 'struct kunit_kasan_status'
361 | WRITE_ONCE(status->sync_fault, sync);
| ^~
include/linux/compiler_types.h:326:23: note: in definition of macro '__compiletime_assert'
326 | if (!(condition)) \
| ^~~~~~~~~
include/linux/compiler_types.h:346:9: note: in expansion of macro '_compiletime_assert'
--
lib/test_kasan.c: In function 'kasan_test_init':
>> lib/test_kasan.c:56:20: error: invalid use of undefined type 'struct kunit_kasan_status'
56 | test_status.report_found = false;
| ^
lib/test_kasan.c:57:20: error: invalid use of undefined type 'struct kunit_kasan_status'
57 | test_status.sync_fault = false;
| ^
In file included from lib/test_kasan.c:25:
lib/test_kasan.c: In function 'kasan_test_exit':
lib/test_kasan.c:66:45: error: invalid use of undefined type 'struct kunit_kasan_status'
66 | KUNIT_EXPECT_FALSE(test, test_status.report_found);
| ^
include/kunit/test.h:782:28: note: in definition of macro 'KUNIT_ASSERTION'
782 | pass, \
| ^~~~
include/kunit/test.h:841:9: note: in expansion of macro 'KUNIT_UNARY_ASSERTION'
841 | KUNIT_UNARY_ASSERTION(test, \
| ^~~~~~~~~~~~~~~~~~~~~
include/kunit/test.h:849:9: note: in expansion of macro 'KUNIT_FALSE_MSG_ASSERTION'
849 | KUNIT_FALSE_MSG_ASSERTION(test, assert_type, condition, NULL)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
include/kunit/test.h:1341:9: note: in expansion of macro 'KUNIT_FALSE_ASSERTION'
1341 | KUNIT_FALSE_ASSERTION(test, KUNIT_EXPECTATION, condition)
| ^~~~~~~~~~~~~~~~~~~~~
lib/test_kasan.c:66:9: note: in expansion of macro 'KUNIT_EXPECT_FALSE'
66 | KUNIT_EXPECT_FALSE(test, test_status.report_found);
| ^~~~~~~~~~~~~~~~~~
lib/test_kasan.c: In function 'kmalloc_oob_right':
lib/test_kasan.c:94:55: error: invalid use of undefined type 'struct kunit_kasan_status'
94 | KUNIT_EXPECT_FALSE(test, READ_ONCE(test_status.report_found)); \
| ^
include/kunit/test.h:782:28: note: in definition of macro 'KUNIT_ASSERTION'
782 | pass, \
| ^~~~
include/kunit/test.h:841:9: note: in expansion of macro 'KUNIT_UNARY_ASSERTION'
841 | KUNIT_UNARY_ASSERTION(test, \
| ^~~~~~~~~~~~~~~~~~~~~
include/kunit/test.h:849:9: note: in expansion of macro 'KUNIT_FALSE_MSG_ASSERTION'
849 | KUNIT_FALSE_MSG_ASSERTION(test, assert_type, condition, NULL)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
include/kunit/test.h:1341:9: note: in expansion of macro 'KUNIT_FALSE_ASSERTION'
1341 | KUNIT_FALSE_ASSERTION(test, KUNIT_EXPECTATION, condition)
| ^~~~~~~~~~~~~~~~~~~~~
lib/test_kasan.c:94:9: note: in expansion of macro 'KUNIT_EXPECT_FALSE'
94 | KUNIT_EXPECT_FALSE(test, READ_ONCE(test_status.report_found)); \
| ^~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:334:9: note: in expansion of macro '__compiletime_assert'
334 | __compiletime_assert(condition, msg, prefix, suffix)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:346:9: note: in expansion of macro '_compiletime_assert'
346 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:49:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
49 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lib/test_kasan.c:94:34: note: in expansion of macro 'READ_ONCE'
94 | KUNIT_EXPECT_FALSE(test, READ_ONCE(test_status.report_found)); \
| ^~~~~~~~~
lib/test_kasan.c:138:17: note: in expansion of macro 'KUNIT_EXPECT_KASAN_FAIL'
138 | KUNIT_EXPECT_KASAN_FAIL(test, ptr[size] = 'x');
| ^~~~~~~~~~~~~~~~~~~~~~~
lib/test_kasan.c:94:55: error: invalid use of undefined type 'struct kunit_kasan_status'
94 | KUNIT_EXPECT_FALSE(test, READ_ONCE(test_status.report_found)); \
| ^
include/kunit/test.h:782:28: note: in definition of macro 'KUNIT_ASSERTION'
782 | pass, \
| ^~~~
include/kunit/test.h:841:9: note: in expansion of macro 'KUNIT_UNARY_ASSERTION'
841 | KUNIT_UNARY_ASSERTION(test, \
| ^~~~~~~~~~~~~~~~~~~~~
include/kunit/test.h:849:9: note: in expansion of macro 'KUNIT_FALSE_MSG_ASSERTION'
849 | KUNIT_FALSE_MSG_ASSERTION(test, assert_type, condition, NULL)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
include/kunit/test.h:1341:9: note: in expansion of macro 'KUNIT_FALSE_ASSERTION'
1341 | KUNIT_FALSE_ASSERTION(test, KUNIT_EXPECTATION, condition)
| ^~~~~~~~~~~~~~~~~~~~~
lib/test_kasan.c:94:9: note: in expansion of macro 'KUNIT_EXPECT_FALSE'
94 | KUNIT_EXPECT_FALSE(test, READ_ONCE(test_status.report_found)); \
| ^~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:334:9: note: in expansion of macro '__compiletime_assert'
334 | __compiletime_assert(condition, msg, prefix, suffix)
| ^~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:346:9: note: in expansion of macro '_compiletime_assert'
346 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:49:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
49 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lib/test_kasan.c:94:34: note: in expansion of macro 'READ_ONCE'
94 | KUNIT_EXPECT_FALSE(test, READ_ONCE(test_status.report_found)); \
vim +360 mm/kasan/report.c
345
346 #if IS_ENABLED(CONFIG_KUNIT)
347 static void kasan_update_kunit_status(struct kunit *cur_test, bool sync)
348 {
349 struct kunit_resource *resource;
350 struct kunit_kasan_status *status;
351
352 resource = kunit_find_named_resource(cur_test, "kasan_status");
353
354 if (!resource) {
355 kunit_set_failure(cur_test);
356 return;
357 }
358
359 status = (struct kunit_kasan_status *)resource->data;
> 360 WRITE_ONCE(status->report_found, true);
361 WRITE_ONCE(status->sync_fault, sync);
362 kunit_put_resource(resource);
363 }
364 #endif /* IS_ENABLED(CONFIG_KUNIT) */
365
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
7 months
Re: [PATCH] kasan: test: support async (again) and asymm modes for HW_TAGS
by kernel test robot
Hi,
I love your patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v5.17-rc4 next-20220215]
[cannot apply to hnaz-mm/master]
[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/andrey-konovalov-linux-dev/kasan...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git d567f5db412ed52de0b3b3efca4a451263de6108
config: arm64-randconfig-r036-20220214 (https://download.01.org/0day-ci/archive/20220216/202202160627.SICieucW-lk...)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 37f422f4ac31c8b8041c6b62065263314282dab6)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://github.com/0day-ci/linux/commit/50334edb33a25643468715fbfc0e6d4a7...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review andrey-konovalov-linux-dev/kasan-test-support-async-again-and-asymm-modes-for-HW_TAGS/20220215-232923
git checkout 50334edb33a25643468715fbfc0e6d4a7d594432
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash mm/kasan/
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 >>):
>> mm/kasan/report.c:360:19: error: incomplete definition of type 'struct kunit_kasan_status'
WRITE_ONCE(status->report_found, true);
~~~~~~^
include/asm-generic/rwonce.h:60:33: note: expanded from macro 'WRITE_ONCE'
compiletime_assert_rwonce_type(x); \
^
include/asm-generic/rwonce.h:36:35: note: expanded from macro 'compiletime_assert_rwonce_type'
compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
^
include/linux/compiler_types.h:313:10: note: expanded from macro '__native_word'
(sizeof(t) == sizeof(char) || sizeof(t) == sizeof(short) || \
^
include/linux/compiler_types.h:346:22: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^~~~~~~~~
include/linux/compiler_types.h:334:23: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^~~~~~~~~
include/linux/compiler_types.h:326:9: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^~~~~~~~~
mm/kasan/report.c:350:9: note: forward declaration of 'struct kunit_kasan_status'
struct kunit_kasan_status *status;
^
>> mm/kasan/report.c:360:19: error: incomplete definition of type 'struct kunit_kasan_status'
WRITE_ONCE(status->report_found, true);
~~~~~~^
include/asm-generic/rwonce.h:60:33: note: expanded from macro 'WRITE_ONCE'
compiletime_assert_rwonce_type(x); \
^
include/asm-generic/rwonce.h:36:35: note: expanded from macro 'compiletime_assert_rwonce_type'
compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
^
include/linux/compiler_types.h:313:39: note: expanded from macro '__native_word'
(sizeof(t) == sizeof(char) || sizeof(t) == sizeof(short) || \
^
include/linux/compiler_types.h:346:22: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^~~~~~~~~
include/linux/compiler_types.h:334:23: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^~~~~~~~~
include/linux/compiler_types.h:326:9: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^~~~~~~~~
mm/kasan/report.c:350:9: note: forward declaration of 'struct kunit_kasan_status'
struct kunit_kasan_status *status;
^
>> mm/kasan/report.c:360:19: error: incomplete definition of type 'struct kunit_kasan_status'
WRITE_ONCE(status->report_found, true);
~~~~~~^
include/asm-generic/rwonce.h:60:33: note: expanded from macro 'WRITE_ONCE'
compiletime_assert_rwonce_type(x); \
^
include/asm-generic/rwonce.h:36:35: note: expanded from macro 'compiletime_assert_rwonce_type'
compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
^
include/linux/compiler_types.h:314:10: note: expanded from macro '__native_word'
sizeof(t) == sizeof(int) || sizeof(t) == sizeof(long))
^
include/linux/compiler_types.h:346:22: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^~~~~~~~~
include/linux/compiler_types.h:334:23: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^~~~~~~~~
include/linux/compiler_types.h:326:9: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^~~~~~~~~
mm/kasan/report.c:350:9: note: forward declaration of 'struct kunit_kasan_status'
struct kunit_kasan_status *status;
^
>> mm/kasan/report.c:360:19: error: incomplete definition of type 'struct kunit_kasan_status'
WRITE_ONCE(status->report_found, true);
~~~~~~^
include/asm-generic/rwonce.h:60:33: note: expanded from macro 'WRITE_ONCE'
compiletime_assert_rwonce_type(x); \
^
include/asm-generic/rwonce.h:36:35: note: expanded from macro 'compiletime_assert_rwonce_type'
compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
^
include/linux/compiler_types.h:314:38: note: expanded from macro '__native_word'
sizeof(t) == sizeof(int) || sizeof(t) == sizeof(long))
^
include/linux/compiler_types.h:346:22: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^~~~~~~~~
include/linux/compiler_types.h:334:23: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^~~~~~~~~
include/linux/compiler_types.h:326:9: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^~~~~~~~~
mm/kasan/report.c:350:9: note: forward declaration of 'struct kunit_kasan_status'
struct kunit_kasan_status *status;
^
>> mm/kasan/report.c:360:19: error: incomplete definition of type 'struct kunit_kasan_status'
WRITE_ONCE(status->report_found, true);
~~~~~~^
include/asm-generic/rwonce.h:60:33: note: expanded from macro 'WRITE_ONCE'
compiletime_assert_rwonce_type(x); \
^
include/asm-generic/rwonce.h:36:48: note: expanded from macro 'compiletime_assert_rwonce_type'
compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
^
include/linux/compiler_types.h:346:22: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^~~~~~~~~
include/linux/compiler_types.h:334:23: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^~~~~~~~~
include/linux/compiler_types.h:326:9: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^~~~~~~~~
mm/kasan/report.c:350:9: note: forward declaration of 'struct kunit_kasan_status'
struct kunit_kasan_status *status;
^
>> mm/kasan/report.c:360:19: error: incomplete definition of type 'struct kunit_kasan_status'
WRITE_ONCE(status->report_found, true);
~~~~~~^
include/asm-generic/rwonce.h:61:15: note: expanded from macro 'WRITE_ONCE'
__WRITE_ONCE(x, val); \
^
include/asm-generic/rwonce.h:55:20: note: expanded from macro '__WRITE_ONCE'
*(volatile typeof(x) *)&(x) = (val); \
^
mm/kasan/report.c:350:9: note: forward declaration of 'struct kunit_kasan_status'
struct kunit_kasan_status *status;
^
>> mm/kasan/report.c:360:19: error: incomplete definition of type 'struct kunit_kasan_status'
WRITE_ONCE(status->report_found, true);
~~~~~~^
include/asm-generic/rwonce.h:61:15: note: expanded from macro 'WRITE_ONCE'
__WRITE_ONCE(x, val); \
^
include/asm-generic/rwonce.h:55:27: note: expanded from macro '__WRITE_ONCE'
*(volatile typeof(x) *)&(x) = (val); \
^
mm/kasan/report.c:350:9: note: forward declaration of 'struct kunit_kasan_status'
struct kunit_kasan_status *status;
^
mm/kasan/report.c:361:19: error: incomplete definition of type 'struct kunit_kasan_status'
WRITE_ONCE(status->sync_fault, sync);
~~~~~~^
include/asm-generic/rwonce.h:60:33: note: expanded from macro 'WRITE_ONCE'
compiletime_assert_rwonce_type(x); \
^
include/asm-generic/rwonce.h:36:35: note: expanded from macro 'compiletime_assert_rwonce_type'
compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
^
include/linux/compiler_types.h:313:10: note: expanded from macro '__native_word'
(sizeof(t) == sizeof(char) || sizeof(t) == sizeof(short) || \
^
include/linux/compiler_types.h:346:22: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^~~~~~~~~
include/linux/compiler_types.h:334:23: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^~~~~~~~~
include/linux/compiler_types.h:326:9: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^~~~~~~~~
mm/kasan/report.c:350:9: note: forward declaration of 'struct kunit_kasan_status'
struct kunit_kasan_status *status;
^
mm/kasan/report.c:361:19: error: incomplete definition of type 'struct kunit_kasan_status'
WRITE_ONCE(status->sync_fault, sync);
~~~~~~^
include/asm-generic/rwonce.h:60:33: note: expanded from macro 'WRITE_ONCE'
compiletime_assert_rwonce_type(x); \
^
include/asm-generic/rwonce.h:36:35: note: expanded from macro 'compiletime_assert_rwonce_type'
compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
^
include/linux/compiler_types.h:313:39: note: expanded from macro '__native_word'
(sizeof(t) == sizeof(char) || sizeof(t) == sizeof(short) || \
^
include/linux/compiler_types.h:346:22: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^~~~~~~~~
include/linux/compiler_types.h:334:23: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^~~~~~~~~
include/linux/compiler_types.h:326:9: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^~~~~~~~~
mm/kasan/report.c:350:9: note: forward declaration of 'struct kunit_kasan_status'
struct kunit_kasan_status *status;
^
mm/kasan/report.c:361:19: error: incomplete definition of type 'struct kunit_kasan_status'
WRITE_ONCE(status->sync_fault, sync);
~~~~~~^
include/asm-generic/rwonce.h:60:33: note: expanded from macro 'WRITE_ONCE'
compiletime_assert_rwonce_type(x); \
^
include/asm-generic/rwonce.h:36:35: note: expanded from macro 'compiletime_assert_rwonce_type'
compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
^
include/linux/compiler_types.h:314:10: note: expanded from macro '__native_word'
sizeof(t) == sizeof(int) || sizeof(t) == sizeof(long))
^
include/linux/compiler_types.h:346:22: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^~~~~~~~~
include/linux/compiler_types.h:334:23: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^~~~~~~~~
include/linux/compiler_types.h:326:9: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^~~~~~~~~
mm/kasan/report.c:350:9: note: forward declaration of 'struct kunit_kasan_status'
struct kunit_kasan_status *status;
^
mm/kasan/report.c:361:19: error: incomplete definition of type 'struct kunit_kasan_status'
WRITE_ONCE(status->sync_fault, sync);
~~~~~~^
include/asm-generic/rwonce.h:60:33: note: expanded from macro 'WRITE_ONCE'
compiletime_assert_rwonce_type(x); \
^
include/asm-generic/rwonce.h:36:35: note: expanded from macro 'compiletime_assert_rwonce_type'
compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
^
include/linux/compiler_types.h:314:38: note: expanded from macro '__native_word'
sizeof(t) == sizeof(int) || sizeof(t) == sizeof(long))
^
include/linux/compiler_types.h:346:22: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^~~~~~~~~
include/linux/compiler_types.h:334:23: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
vim +360 mm/kasan/report.c
345
346 #if IS_ENABLED(CONFIG_KUNIT)
347 static void kasan_update_kunit_status(struct kunit *cur_test, bool sync)
348 {
349 struct kunit_resource *resource;
350 struct kunit_kasan_status *status;
351
352 resource = kunit_find_named_resource(cur_test, "kasan_status");
353
354 if (!resource) {
355 kunit_set_failure(cur_test);
356 return;
357 }
358
359 status = (struct kunit_kasan_status *)resource->data;
> 360 WRITE_ONCE(status->report_found, true);
361 WRITE_ONCE(status->sync_fault, sync);
362 kunit_put_resource(resource);
363 }
364 #endif /* IS_ENABLED(CONFIG_KUNIT) */
365
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
7 months
[asahilinux:spmi/work 15/38] drivers/platform/apple/smc_rtkit.c:429:25: error: 'apple_smc_of_match' undeclared here (not in a function); did you mean 'apple_smc_rtkit_of_match'?
by kernel test robot
tree: https://github.com/AsahiLinux/linux spmi/work
head: 76613dba00adb753bc18bf738bf04658f4480994
commit: 63615eb2a0f68ad3d05cf48ccf0771dd613e1f44 [15/38] platform/apple: Add new Apple Mac SMC driver
config: mips-allmodconfig (https://download.01.org/0day-ci/archive/20220216/202202160622.Q0sK1O5M-lk...)
compiler: mips-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/AsahiLinux/linux/commit/63615eb2a0f68ad3d05cf48ccf0771...
git remote add asahilinux https://github.com/AsahiLinux/linux
git fetch --no-tags asahilinux spmi/work
git checkout 63615eb2a0f68ad3d05cf48ccf0771dd613e1f44
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=mips SHELL=/bin/bash drivers/platform/apple/
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 >>):
72 | (1ULL << __bf_shf(_mask))); \
| ^~~~~~~~
include/linux/bitfield.h:125:17: note: in expansion of macro '__BF_FIELD_CHECK'
125 | __BF_FIELD_CHECK(_mask, _reg, 0U, "FIELD_GET: "); \
| ^~~~~~~~~~~~~~~~
drivers/platform/apple/smc_rtkit.c:327:45: note: in expansion of macro 'FIELD_GET'
327 | apple_smc_event_received(smc->core, FIELD_GET(SMC_DATA, message));
| ^~~~~~~~~
include/linux/bits.h:38:38: note: in expansion of macro '__GENMASK'
38 | (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l))
| ^~~~~~~~~
drivers/platform/apple/smc_rtkit.c:29:41: note: in expansion of macro 'GENMASK'
29 | #define SMC_DATA GENMASK(63, 32)
| ^~~~~~~
drivers/platform/apple/smc_rtkit.c:327:55: note: in expansion of macro 'SMC_DATA'
327 | apple_smc_event_received(smc->core, FIELD_GET(SMC_DATA, message));
| ^~~~~~~~
In file included from arch/mips/include/asm/mips-cps.h:10,
from arch/mips/include/asm/smp-ops.h:16,
from arch/mips/include/asm/smp.h:21,
from include/linux/smp.h:113,
from include/linux/lockdep.h:14,
from include/linux/rcupdate.h:29,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from include/linux/ratelimit.h:6,
from include/linux/dev_printk.h:16,
from include/linux/device.h:15,
from drivers/platform/apple/smc_rtkit.c:8:
include/linux/bits.h:35:29: warning: left shift count >= width of type [-Wshift-count-overflow]
35 | (((~UL(0)) - (UL(1) << (l)) + 1) & \
| ^~
include/linux/bitfield.h:126:44: note: in definition of macro 'FIELD_GET'
126 | (typeof(_mask))(((_reg) & (_mask)) >> __bf_shf(_mask)); \
| ^~~~~
include/linux/bits.h:38:38: note: in expansion of macro '__GENMASK'
38 | (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l))
| ^~~~~~~~~
drivers/platform/apple/smc_rtkit.c:29:41: note: in expansion of macro 'GENMASK'
29 | #define SMC_DATA GENMASK(63, 32)
| ^~~~~~~
drivers/platform/apple/smc_rtkit.c:327:55: note: in expansion of macro 'SMC_DATA'
327 | apple_smc_event_received(smc->core, FIELD_GET(SMC_DATA, message));
| ^~~~~~~~
include/linux/bits.h:36:18: warning: right shift count is negative [-Wshift-count-negative]
36 | (~UL(0) >> (BITS_PER_LONG - 1 - (h))))
| ^~
include/linux/bitfield.h:126:44: note: in definition of macro 'FIELD_GET'
126 | (typeof(_mask))(((_reg) & (_mask)) >> __bf_shf(_mask)); \
| ^~~~~
include/linux/bits.h:38:38: note: in expansion of macro '__GENMASK'
38 | (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l))
| ^~~~~~~~~
drivers/platform/apple/smc_rtkit.c:29:41: note: in expansion of macro 'GENMASK'
29 | #define SMC_DATA GENMASK(63, 32)
| ^~~~~~~
drivers/platform/apple/smc_rtkit.c:327:55: note: in expansion of macro 'SMC_DATA'
327 | apple_smc_event_received(smc->core, FIELD_GET(SMC_DATA, message));
| ^~~~~~~~
include/linux/bits.h:35:29: warning: left shift count >= width of type [-Wshift-count-overflow]
35 | (((~UL(0)) - (UL(1) << (l)) + 1) & \
| ^~
include/linux/bitfield.h:42:38: note: in definition of macro '__bf_shf'
42 | #define __bf_shf(x) (__builtin_ffsll(x) - 1)
| ^
drivers/platform/apple/smc_rtkit.c:327:45: note: in expansion of macro 'FIELD_GET'
327 | apple_smc_event_received(smc->core, FIELD_GET(SMC_DATA, message));
| ^~~~~~~~~
include/linux/bits.h:38:38: note: in expansion of macro '__GENMASK'
38 | (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l))
| ^~~~~~~~~
drivers/platform/apple/smc_rtkit.c:29:41: note: in expansion of macro 'GENMASK'
29 | #define SMC_DATA GENMASK(63, 32)
| ^~~~~~~
drivers/platform/apple/smc_rtkit.c:327:55: note: in expansion of macro 'SMC_DATA'
327 | apple_smc_event_received(smc->core, FIELD_GET(SMC_DATA, message));
| ^~~~~~~~
include/linux/bits.h:36:18: warning: right shift count is negative [-Wshift-count-negative]
36 | (~UL(0) >> (BITS_PER_LONG - 1 - (h))))
| ^~
include/linux/bitfield.h:42:38: note: in definition of macro '__bf_shf'
42 | #define __bf_shf(x) (__builtin_ffsll(x) - 1)
| ^
drivers/platform/apple/smc_rtkit.c:327:45: note: in expansion of macro 'FIELD_GET'
327 | apple_smc_event_received(smc->core, FIELD_GET(SMC_DATA, message));
| ^~~~~~~~~
include/linux/bits.h:38:38: note: in expansion of macro '__GENMASK'
38 | (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l))
| ^~~~~~~~~
drivers/platform/apple/smc_rtkit.c:29:41: note: in expansion of macro 'GENMASK'
29 | #define SMC_DATA GENMASK(63, 32)
| ^~~~~~~
drivers/platform/apple/smc_rtkit.c:327:55: note: in expansion of macro 'SMC_DATA'
327 | apple_smc_event_received(smc->core, FIELD_GET(SMC_DATA, message));
| ^~~~~~~~
In file included from include/linux/device/driver.h:21,
from include/linux/device.h:32,
from drivers/platform/apple/smc_rtkit.c:8:
drivers/platform/apple/smc_rtkit.c: At top level:
>> drivers/platform/apple/smc_rtkit.c:429:25: error: 'apple_smc_of_match' undeclared here (not in a function); did you mean 'apple_smc_rtkit_of_match'?
429 | MODULE_DEVICE_TABLE(of, apple_smc_of_match);
| ^~~~~~~~~~~~~~~~~~
include/linux/module.h:244:15: note: in definition of macro 'MODULE_DEVICE_TABLE'
244 | extern typeof(name) __mod_##type##__##name##_device_table \
| ^~~~
>> include/linux/module.h:244:21: error: '__mod_of__apple_smc_of_match_device_table' aliased to undefined symbol 'apple_smc_of_match'
244 | extern typeof(name) __mod_##type##__##name##_device_table \
| ^~~~~~
drivers/platform/apple/smc_rtkit.c:429:1: note: in expansion of macro 'MODULE_DEVICE_TABLE'
429 | MODULE_DEVICE_TABLE(of, apple_smc_of_match);
| ^~~~~~~~~~~~~~~~~~~
vim +429 drivers/platform/apple/smc_rtkit.c
312
313 static void apple_smc_rtkit_recv(void *cookie, u8 endpoint, u64 message)
314 {
315 struct apple_smc_rtkit *smc = cookie;
316
317 if (endpoint != SMC_ENDPOINT) {
318 dev_err(smc->dev, "Received message for unknown endpoint 0x%x\n", endpoint);
319 return;
320 }
321
322 if (FIELD_GET(SMC_MSG, message) != SMC_MSG_NOTIFICATION) {
323 dev_err(smc->dev, "Received unknown message from worker: 0x%llx\n", message);
324 return;
325 }
326
> 327 apple_smc_event_received(smc->core, FIELD_GET(SMC_DATA, message));
328 }
329
330 static const struct apple_rtkit_ops apple_smc_rtkit_ops = {
331 .crashed = apple_smc_rtkit_crashed,
332 .recv_message = apple_smc_rtkit_recv,
333 .recv_message_early = apple_smc_rtkit_recv_early,
334 .shmem_setup = apple_smc_rtkit_shmem_setup,
335 .shmem_destroy = apple_smc_rtkit_shmem_destroy,
336 };
337
338 static int apple_smc_rtkit_probe(struct platform_device *pdev)
339 {
340 struct device *dev = &pdev->dev;
341 struct apple_smc_rtkit *smc;
342 int ret;
343
344 smc = devm_kzalloc(dev, sizeof(*smc), GFP_KERNEL);
345 if (!smc)
346 return -ENOMEM;
347
348 smc->dev = dev;
349
350 smc->sram = platform_get_resource_byname(pdev, IORESOURCE_MEM, "sram");
351 if (!smc->sram)
352 return dev_err_probe(dev, EIO,
353 "No SRAM region");
354
355 smc->sram_base = devm_ioremap_resource(dev, smc->sram);
356 if (IS_ERR(smc->sram_base))
357 return dev_err_probe(dev, PTR_ERR(smc->sram_base),
358 "Failed to map SRAM region");
359
360 smc->rtk =
361 devm_apple_rtkit_init(dev, smc, NULL, 0, &apple_smc_rtkit_ops);
362 if (IS_ERR(smc->rtk))
363 return dev_err_probe(dev, PTR_ERR(smc->rtk),
364 "Failed to intialize RTKit");
365
366 ret = apple_rtkit_wake(smc->rtk);
367 if (ret != 0)
368 return dev_err_probe(dev, ret,
369 "Failed to wake up SMC");
370
371 ret = apple_rtkit_start_ep(smc->rtk, SMC_ENDPOINT);
372 if (ret != 0) {
373 dev_err(dev, "Failed to start endpoint");
374 goto cleanup;
375 }
376
377 init_completion(&smc->init_done);
378 init_completion(&smc->cmd_done);
379
380 ret = apple_rtkit_send_message(smc->rtk, SMC_ENDPOINT,
381 FIELD_PREP(SMC_MSG, SMC_MSG_INITIALIZE));
382 if (ret < 0)
383 return dev_err_probe(dev, ret,
384 "Failed to send init message");
385
386 if (wait_for_completion_timeout(&smc->init_done, SMC_TIMEOUT) == 0) {
387 ret = -ETIMEDOUT;
388 dev_err(dev, "Timed out initializing SMC");
389 goto cleanup;
390 }
391
392 if (!smc->alive) {
393 ret = -EIO;
394 goto cleanup;
395 }
396
397 smc->core = apple_smc_probe(dev, &apple_smc_rtkit_be_ops, smc);
398 if (IS_ERR(smc->core)) {
399 ret = PTR_ERR(smc->core);
400 goto cleanup;
401 }
402
403 return 0;
404
405 cleanup:
406 /* Try to shut down RTKit, if it's not completely wedged */
407 if (apple_rtkit_is_running(smc->rtk))
408 apple_rtkit_hibernate(smc->rtk);
409
410 return ret;
411 }
412
413 static int apple_smc_rtkit_remove(struct platform_device *pdev)
414 {
415 struct apple_smc_rtkit *smc = platform_get_drvdata(pdev);
416
417 apple_smc_remove(smc->core);
418
419 if (apple_rtkit_is_running(smc->rtk))
420 apple_rtkit_hibernate(smc->rtk);
421
422 return 0;
423 }
424
425 static const struct of_device_id apple_smc_rtkit_of_match[] = {
426 { .compatible = "apple,smc" },
427 {},
428 };
> 429 MODULE_DEVICE_TABLE(of, apple_smc_of_match);
430
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
7 months
[tobetter:odroid-5.17.y 9/41] drivers/power/reset/odroid-reboot.c:141:17: error: 'arm_pm_restart' undeclared; did you mean 'alarm_restart'?
by kernel test robot
tree: https://github.com/tobetter/linux odroid-5.17.y
head: 992855288ffabfafb16c8ed7ce9a81fc64cfc89a
commit: 5129b4258d6570b94abc714f4ac79508f8b7645b [9/41] ODROID-COMMON: power:reset: Add odroid support
config: arm-allyesconfig (https://download.01.org/0day-ci/archive/20220216/202202160601.6EUNHQqV-lk...)
compiler: arm-linux-gnueabi-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/tobetter/linux/commit/5129b4258d6570b94abc714f4ac79508...
git remote add tobetter https://github.com/tobetter/linux
git fetch --no-tags tobetter odroid-5.17.y
git checkout 5129b4258d6570b94abc714f4ac79508f8b7645b
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arm 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/power/reset/odroid-reboot.c:63:6: warning: no previous prototype for 'odroid_card_reset' [-Wmissing-prototypes]
63 | void odroid_card_reset(void)
| ^~~~~~~~~~~~~~~~~
drivers/power/reset/odroid-reboot.c: In function 'odroid_restart_probe':
>> drivers/power/reset/odroid-reboot.c:141:17: error: 'arm_pm_restart' undeclared (first use in this function); did you mean 'alarm_restart'?
141 | arm_pm_restart = do_odroid_restart;
| ^~~~~~~~~~~~~~
| alarm_restart
drivers/power/reset/odroid-reboot.c:141:17: note: each undeclared identifier is reported only once for each function it appears in
vim +141 drivers/power/reset/odroid-reboot.c
133
134 static int odroid_restart_probe(struct platform_device *pdev)
135 {
136 struct device_node *of_node;
137 u32 id;
138
139 if (!of_property_read_u32(pdev->dev.of_node, "sys_reset", &id)) {
140 psci_function_id_restart = id;
> 141 arm_pm_restart = do_odroid_restart;
142 }
143
144 if (!of_property_read_u32(pdev->dev.of_node, "sys_poweroff", &id)) {
145 psci_function_id_poweroff = id;
146 pm_power_off = do_odroid_poweroff;
147 }
148
149 of_node = pdev->dev.of_node;
150
151 sd_vqsw = of_get_named_gpio(of_node, "sd-vqsw", 0);
152 if (!gpio_is_valid(sd_vqsw)) sd_vqsw = 0;
153
154 sd_vmmc = of_get_named_gpio(of_node, "sd-vmmc", 0);
155 if (!gpio_is_valid(sd_vmmc)) sd_vmmc = 0;
156
157 sd_vqen = of_get_named_gpio(of_node, "sd-vqen", 0);
158 if (!gpio_is_valid(sd_vqen)) sd_vqen = 0;
159
160 return 0;
161 }
162
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
7 months