Messages in this thread |  | | Date | Tue, 10 Apr 2018 05:03:59 +0800 | From | kbuild test robot <> | Subject | Re: [PATCH v3 1/3] stacktrace: move arch_within_stack_frames from thread_info.h |
| |
Hi Sahara,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on linus/master] [also build test ERROR on v4.16 next-20180409] [cannot apply to tip/x86/core] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/kpark3469-gmail-com/usercopy-reimplement-arch_within_stack_frames/20180409-221953 config: x86_64-randconfig-s0-04100256 (attached as .config) compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026 reproduce: # save the attached .config to linux build tree make ARCH=x86_64
All errors (new ones prefixed by >>):
drivers/gpu//drm/drm_mm.c: In function 'save_stack': drivers/gpu//drm/drm_mm.c:109:9: error: variable 'trace' has initializer but incomplete type struct stack_trace trace = { ^~~~~~~~~~~ >> drivers/gpu//drm/drm_mm.c:110:3: error: unknown field 'entries' specified in initializer .entries = entries, ^ drivers/gpu//drm/drm_mm.c:110:14: warning: excess elements in struct initializer .entries = entries, ^~~~~~~ drivers/gpu//drm/drm_mm.c:110:14: note: (near initialization for 'trace') >> drivers/gpu//drm/drm_mm.c:111:3: error: unknown field 'max_entries' specified in initializer .max_entries = STACKDEPTH, ^ drivers/gpu//drm/drm_mm.c:103:20: warning: excess elements in struct initializer #define STACKDEPTH 32 ^ drivers/gpu//drm/drm_mm.c:111:18: note: in expansion of macro 'STACKDEPTH' .max_entries = STACKDEPTH, ^~~~~~~~~~ drivers/gpu//drm/drm_mm.c:103:20: note: (near initialization for 'trace') #define STACKDEPTH 32 ^ drivers/gpu//drm/drm_mm.c:111:18: note: in expansion of macro 'STACKDEPTH' .max_entries = STACKDEPTH, ^~~~~~~~~~ >> drivers/gpu//drm/drm_mm.c:112:3: error: unknown field 'skip' specified in initializer .skip = 1 ^ drivers/gpu//drm/drm_mm.c:112:11: warning: excess elements in struct initializer .skip = 1 ^ drivers/gpu//drm/drm_mm.c:112:11: note: (near initialization for 'trace') drivers/gpu//drm/drm_mm.c:109:21: error: storage size of 'trace' isn't known struct stack_trace trace = { ^~~~~ >> drivers/gpu//drm/drm_mm.c:115:2: error: implicit declaration of function 'save_stack_trace' [-Werror=implicit-function-declaration] save_stack_trace(&trace); ^~~~~~~~~~~~~~~~ drivers/gpu//drm/drm_mm.c:109:21: warning: unused variable 'trace' [-Wunused-variable] struct stack_trace trace = { ^~~~~ drivers/gpu//drm/drm_mm.c: In function 'show_leaks': drivers/gpu//drm/drm_mm.c:135:10: error: variable 'trace' has initializer but incomplete type struct stack_trace trace = { ^~~~~~~~~~~ drivers/gpu//drm/drm_mm.c:136:4: error: unknown field 'entries' specified in initializer .entries = entries, ^ drivers/gpu//drm/drm_mm.c:136:15: warning: excess elements in struct initializer .entries = entries, ^~~~~~~ drivers/gpu//drm/drm_mm.c:136:15: note: (near initialization for 'trace') drivers/gpu//drm/drm_mm.c:137:4: error: unknown field 'max_entries' specified in initializer .max_entries = STACKDEPTH ^ drivers/gpu//drm/drm_mm.c:103:20: warning: excess elements in struct initializer #define STACKDEPTH 32 ^ drivers/gpu//drm/drm_mm.c:137:19: note: in expansion of macro 'STACKDEPTH' .max_entries = STACKDEPTH ^~~~~~~~~~ drivers/gpu//drm/drm_mm.c:103:20: note: (near initialization for 'trace') #define STACKDEPTH 32 ^ drivers/gpu//drm/drm_mm.c:137:19: note: in expansion of macro 'STACKDEPTH' .max_entries = STACKDEPTH ^~~~~~~~~~ drivers/gpu//drm/drm_mm.c:135:22: error: storage size of 'trace' isn't known struct stack_trace trace = { ^~~~~ drivers/gpu//drm/drm_mm.c:147:3: error: implicit declaration of function 'snprint_stack_trace' [-Werror=implicit-function-declaration] snprint_stack_trace(buf, BUFSZ, &trace, 0); ^~~~~~~~~~~~~~~~~~~ drivers/gpu//drm/drm_mm.c:135:22: warning: unused variable 'trace' [-Wunused-variable] struct stack_trace trace = { ^~~~~ cc1: some warnings being treated as errors
vim +/max_entries +111 drivers/gpu//drm/drm_mm.c
5705670d Chris Wilson 2016-10-31 105 5705670d Chris Wilson 2016-10-31 106 static noinline void save_stack(struct drm_mm_node *node) 5705670d Chris Wilson 2016-10-31 107 { 5705670d Chris Wilson 2016-10-31 108 unsigned long entries[STACKDEPTH]; 5705670d Chris Wilson 2016-10-31 @109 struct stack_trace trace = { 5705670d Chris Wilson 2016-10-31 @110 .entries = entries, 5705670d Chris Wilson 2016-10-31 @111 .max_entries = STACKDEPTH, 5705670d Chris Wilson 2016-10-31 @112 .skip = 1 5705670d Chris Wilson 2016-10-31 113 }; 5705670d Chris Wilson 2016-10-31 114 5705670d Chris Wilson 2016-10-31 @115 save_stack_trace(&trace); 5705670d Chris Wilson 2016-10-31 116 if (trace.nr_entries != 0 && 5705670d Chris Wilson 2016-10-31 117 trace.entries[trace.nr_entries-1] == ULONG_MAX) 5705670d Chris Wilson 2016-10-31 118 trace.nr_entries--; 5705670d Chris Wilson 2016-10-31 119 5705670d Chris Wilson 2016-10-31 120 /* May be called under spinlock, so avoid sleeping */ 5705670d Chris Wilson 2016-10-31 121 node->stack = depot_save_stack(&trace, GFP_NOWAIT); 5705670d Chris Wilson 2016-10-31 122 } 5705670d Chris Wilson 2016-10-31 123
:::::: The code at line 111 was first introduced by commit :::::: 5705670d0463423337c82d00877989e7df8b169d drm: Track drm_mm allocators and show leaks on shutdown
:::::: TO: Chris Wilson <chris@chris-wilson.co.uk> :::::: CC: Daniel Vetter <daniel.vetter@ffwll.ch>
--- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation [unhandled content-type:application/gzip] |  |