Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 10 Apr 2018 05:03:59 +0800
From: kbuild test robot <lkp@...el.com>
To: kpark3469@...il.com
Cc: kbuild-all@...org, kernel-hardening@...ts.openwall.com,
	catalin.marinas@....com, keescook@...omium.org, will.deacon@....com,
	mark.rutland@....com, james.morse@....com, panand@...hat.com,
	keun-o.park@...kmatter.ae, psodagud@...eaurora.org,
	jpoimboe@...hat.com, mingo@...nel.org, linux-kernel@...r.kernel.org
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@...is-wilson.co.uk>
:::::: CC: Daniel Vetter <daniel.vetter@...ll.ch>

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

Download attachment ".config.gz" of type "application/gzip" (34715 bytes)

Powered by blists - more mailing lists

Your e-mail address:

Powered by Openwall GNU/*/Linux - Powered by OpenVZ