[tip:WIP.sched/core 146/151] mm/kasan/report.c:117:26: error: 'init_thread_union' undeclared

From: kbuild test robot
Date: Sun Feb 05 2017 - 08:48:07 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git WIP.sched/core
head: b992c433b3544d3afd09c4ea603768e6486a3e29
commit: 0d1beec2508cb38715070f5a141815e7bea8482d [146/151] sched/headers: Move 'init_task' and 'init_thread_union' from <linux/sched.h> to <linux/sched/fork.h>
config: x86_64-allmodconfig (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
git checkout 0d1beec2508cb38715070f5a141815e7bea8482d
# save the attached .config to linux build tree
make ARCH=x86_64

All error/warnings (new ones prefixed by >>):

include/linux/compiler.h:253:8: sparse: attribute 'no_sanitize_address': unknown attribute
mm/kasan/report.c:117:33: sparse: undefined identifier 'init_thread_union'
mm/kasan/report.c:117:25: sparse: cast from unknown type
mm/kasan/report.c:117:21: sparse: incompatible types for operation (>=)
mm/kasan/report.c:117:21: left side has type void const *addr
mm/kasan/report.c:117:21: right side has type bad type
mm/kasan/report.c:118:35: sparse: undefined identifier 'init_thread_union'
mm/kasan/report.c:118:27: sparse: cast from unknown type
mm/kasan/report.c:119:32: sparse: undefined identifier 'init_thread_union'
mm/kasan/report.c: In function 'init_task_stack_addr':
>> mm/kasan/report.c:117:26: error: 'init_thread_union' undeclared (first use in this function)
return addr >= (void *)&init_thread_union.stack &&
^~~~~~~~~~~~~~~~~
mm/kasan/report.c:117:26: note: each undeclared identifier is reported only once for each function it appears in
>> mm/kasan/report.c:120:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^

sparse warnings: (new ones prefixed by >>)

include/linux/compiler.h:253:8: sparse: attribute 'no_sanitize_address': unknown attribute
mm/kasan/report.c:117:33: sparse: undefined identifier 'init_thread_union'
>> mm/kasan/report.c:117:25: sparse: cast from unknown type
>> mm/kasan/report.c:117:21: sparse: incompatible types for operation (>=)
mm/kasan/report.c:117:21: left side has type void const *addr
mm/kasan/report.c:117:21: right side has type bad type
mm/kasan/report.c:118:35: sparse: undefined identifier 'init_thread_union'
mm/kasan/report.c:118:27: sparse: cast from unknown type
mm/kasan/report.c:119:32: sparse: undefined identifier 'init_thread_union'
mm/kasan/report.c: In function 'init_task_stack_addr':
mm/kasan/report.c:117:26: error: 'init_thread_union' undeclared (first use in this function)
return addr >= (void *)&init_thread_union.stack &&
^~~~~~~~~~~~~~~~~
mm/kasan/report.c:117:26: note: each undeclared identifier is reported only once for each function it appears in
mm/kasan/report.c:120:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^

vim +/init_thread_union +117 mm/kasan/report.c

527f215b Aneesh Kumar K.V 2015-11-05 111 return true;
527f215b Aneesh Kumar K.V 2015-11-05 112 return false;
bebf56a1 Andrey Ryabinin 2015-02-13 113 }
bebf56a1 Andrey Ryabinin 2015-02-13 114
bebf56a1 Andrey Ryabinin 2015-02-13 115 static inline bool init_task_stack_addr(const void *addr)
bebf56a1 Andrey Ryabinin 2015-02-13 116 {
bebf56a1 Andrey Ryabinin 2015-02-13 @117 return addr >= (void *)&init_thread_union.stack &&
bebf56a1 Andrey Ryabinin 2015-02-13 118 (addr <= (void *)&init_thread_union.stack +
bebf56a1 Andrey Ryabinin 2015-02-13 119 sizeof(init_thread_union.stack));
bebf56a1 Andrey Ryabinin 2015-02-13 @120 }
bebf56a1 Andrey Ryabinin 2015-02-13 121
7e088978 Andrey Ryabinin 2016-08-02 122 static DEFINE_SPINLOCK(report_lock);
7e088978 Andrey Ryabinin 2016-08-02 123

:::::: The code at line 117 was first introduced by commit
:::::: bebf56a1b176c2e1c9efe44e7e6915532cc682cf kasan: enable instrumentation of global variables

:::::: TO: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip