Re: mmotm 2018-11-29-13-37 uploaded (kasan)

From: Randy Dunlap
Date: Thu Nov 29 2018 - 19:32:39 EST


On 11/29/18 1:38 PM, akpm@xxxxxxxxxxxxxxxxxxxx wrote:
> The mm-of-the-moment snapshot 2018-11-29-13-37 has been uploaded to
>
> http://www.ozlabs.org/~akpm/mmotm/
>
> mmotm-readme.txt says
>
> README for mm-of-the-moment:
>
> http://www.ozlabs.org/~akpm/mmotm/

Lots of kasan build errors on x86_64.

> * kasan-mm-change-hooks-signatures.patch
> * kasan-slub-handle-pointer-tags-in-early_kmem_cache_node_alloc.patch
> * kasan-move-common-generic-and-tag-based-code-to-commonc.patch
> * kasan-rename-source-files-to-reflect-the-new-naming-scheme.patch
> * kasan-add-config_kasan_generic-and-config_kasan_sw_tags.patch
> * kasan-arm64-adjust-shadow-size-for-tag-based-mode.patch
> * kasan-rename-kasan_zero_page-to-kasan_early_shadow_page.patch
> * kasan-initialize-shadow-to-0xff-for-tag-based-mode.patch
> * arm64-move-untagged_addr-macro-from-uaccessh-to-memoryh.patch
> * kasan-add-tag-related-helper-functions.patch
> * kasan-arm64-untag-address-in-_virt_addr_is_linear.patch
> * kasan-preassign-tags-to-objects-with-ctors-or-slab_typesafe_by_rcu.patch
> * kasan-arm64-fix-up-fault-handling-logic.patch
> * kasan-arm64-enable-top-byte-ignore-for-the-kernel.patch
> * kasan-mm-perform-untagged-pointers-comparison-in-krealloc.patch
> * kasan-split-out-generic_reportc-from-reportc.patch
> * kasan-add-bug-reporting-routines-for-tag-based-mode.patch
> * mm-move-obj_to_index-to-include-linux-slab_defh.patch
> * kasan-add-hooks-implementation-for-tag-based-mode.patch
> * kasan-arm64-add-brk-handler-for-inline-instrumentation.patch
> * kasan-mm-arm64-tag-non-slab-memory-allocated-via-pagealloc.patch
> * kasan-add-__must_check-annotations-to-kasan-hooks.patch
> * kasan-arm64-select-have_arch_kasan_sw_tags.patch
> * kasan-update-documentation.patch
> * kasan-add-spdx-license-identifier-mark-to-source-files.patch

The simplest error is:
../mm/kasan/common.c:574:17: error: 'KASAN_SHADOW_INIT' undeclared (first use in this function)

when neither KASAN_GENERIC nor KASAN_SW_TAGS is set (enabled).

There there are a slew of these:

../mm/kasan/common.c: In function 'filter_irq_stacks':
../mm/kasan/common.c:53:12: error: dereferencing pointer to incomplete type
if (!trace->nr_entries)
^
../mm/kasan/common.c:55:23: error: dereferencing pointer to incomplete type
for (i = 0; i < trace->nr_entries; i++)
^
../mm/kasan/common.c:56:29: error: dereferencing pointer to incomplete type
if (in_irqentry_text(trace->entries[i])) {
^
../mm/kasan/common.c:58:9: error: dereferencing pointer to incomplete type
trace->nr_entries = i + 1;
^
../mm/kasan/common.c: In function 'save_stack':
../mm/kasan/common.c:66:9: error: variable 'trace' has initializer but incomplete type
struct stack_trace trace = {
^
../mm/kasan/common.c:67:3: error: unknown field 'nr_entries' specified in initializer
.nr_entries = 0,
^
../mm/kasan/common.c:67:3: warning: excess elements in struct initializer [enabled by default]
../mm/kasan/common.c:67:3: warning: (near initialization for 'trace') [enabled by default]
../mm/kasan/common.c:68:3: error: unknown field 'entries' specified in initializer
.entries = entries,
^
../mm/kasan/common.c:68:3: warning: excess elements in struct initializer [enabled by default]
../mm/kasan/common.c:68:3: warning: (near initialization for 'trace') [enabled by default]
../mm/kasan/common.c:69:3: error: unknown field 'max_entries' specified in initializer
.max_entries = KASAN_STACK_DEPTH,
^
../mm/kasan/common.c:69:3: warning: excess elements in struct initializer [enabled by default]
../mm/kasan/common.c:69:3: warning: (near initialization for 'trace') [enabled by default]
../mm/kasan/common.c:70:3: error: unknown field 'skip' specified in initializer
.skip = 0
^
../mm/kasan/common.c:71:2: warning: excess elements in struct initializer [enabled by default]
};
^
../mm/kasan/common.c:71:2: warning: (near initialization for 'trace') [enabled by default]
../mm/kasan/common.c:66:21: error: storage size of 'trace' isn't known
struct stack_trace trace = {
^
../mm/kasan/common.c:66:21: warning: unused variable 'trace' [-Wunused-variable]
../mm/kasan/common.c: In function 'kasan_module_alloc':
../mm/kasan/common.c:574:17: error: 'KASAN_SHADOW_INIT' undeclared (first use in this function)
__memset(ret, KASAN_SHADOW_INIT, shadow_size);
^
../mm/kasan/common.c:574:17: note: each undeclared identifier is reported only once for each function it appears in
../mm/kasan/common.c: In function 'save_stack':
../mm/kasan/common.c:80:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
../scripts/Makefile.build:285: recipe for target 'mm/kasan/common.o' failed


--
~Randy