tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: bb17bf337db5c5af7e75ec5916772c9bffcaf981 commit: d5e0cb037c3f7a9cc54b9427e0281c7877d62ff3 [11691/11963] mm, kasan: stackdepot implementation. Enable stackdepot for SLAB config: x86_64-randconfig-v0-03111742 (attached as .config) reproduce: git checkout d5e0cb037c3f7a9cc54b9427e0281c7877d62ff3 # save the attached .config to linux build tree make ARCH=x86_64 All error/warnings (new ones prefixed by >>): mm/kasan/kasan.c: In function 'filter_irq_stacks': >> mm/kasan/kasan.c:429:12: error: dereferencing pointer to incomplete type 'struct stack_trace' if (!trace->nr_entries) ^ mm/kasan/kasan.c: In function 'save_stack': >> mm/kasan/kasan.c:442:9: error: variable 'trace' has initializer but incomplete type struct stack_trace trace = { ^ >> mm/kasan/kasan.c:443:3: error: unknown field 'nr_entries' specified in initializer .nr_entries = 0, ^ >> mm/kasan/kasan.c:443:17: warning: excess elements in struct initializer .nr_entries = 0, ^ mm/kasan/kasan.c:443:17: note: (near initialization for 'trace') >> mm/kasan/kasan.c:444:3: error: unknown field 'entries' specified in initializer .entries = entries, ^ mm/kasan/kasan.c:444:14: warning: excess elements in struct initializer .entries = entries, ^ mm/kasan/kasan.c:444:14: note: (near initialization for 'trace') >> mm/kasan/kasan.c:445:3: error: unknown field 'max_entries' specified in initializer .max_entries = KASAN_STACK_DEPTH, ^ In file included from mm/kasan/kasan.c:38:0: >> mm/kasan/kasan.h:68:27: warning: excess elements in struct initializer #define KASAN_STACK_DEPTH 64 ^ >> mm/kasan/kasan.c:445:18: note: in expansion of macro 'KASAN_STACK_DEPTH' .max_entries = KASAN_STACK_DEPTH, ^ mm/kasan/kasan.h:68:27: note: (near initialization for 'trace') #define KASAN_STACK_DEPTH 64 ^ >> mm/kasan/kasan.c:445:18: note: in expansion of macro 'KASAN_STACK_DEPTH' .max_entries = KASAN_STACK_DEPTH, ^ >> mm/kasan/kasan.c:446:3: error: unknown field 'skip' specified in initializer .skip = 0 ^ mm/kasan/kasan.c:446:11: warning: excess elements in struct initializer .skip = 0 ^ mm/kasan/kasan.c:446:11: note: (near initialization for 'trace') >> mm/kasan/kasan.c:442:21: error: storage size of 'trace' isn't known struct stack_trace trace = { ^ >> mm/kasan/kasan.c:442:21: warning: unused variable 'trace' [-Wunused-variable] vim +429 mm/kasan/kasan.c 423 } 424 425 static inline void filter_irq_stacks(struct stack_trace *trace) 426 { 427 int i; 428 > 429 if (!trace->nr_entries) 430 return; 431 for (i = 0; i < trace->nr_entries; i++) 432 if (in_irqentry_text(trace->entries[i])) { 433 /* Include the irqentry function into the stack. */ 434 trace->nr_entries = i + 1; 435 break; 436 } 437 } 438 439 static inline depot_stack_handle save_stack(gfp_t flags) 440 { 441 unsigned long entries[KASAN_STACK_DEPTH]; > 442 struct stack_trace trace = { > 443 .nr_entries = 0, > 444 .entries = entries, > 445 .max_entries = KASAN_STACK_DEPTH, > 446 .skip = 0 447 }; 448 449 save_stack_trace(&trace); --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: Binary data