lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Tue, 11 Aug 2020 17:24:06 +0800
From:   kernel test robot <lkp@...el.com>
To:     Luc Van Oostenryck <luc.vanoostenryck@...il.com>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org
Subject: kernel/trace/ftrace.c:5477:35: sparse: expected struct ftrace_hash
 __rcu ftrace_graph_hash

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   00e4db51259a5f936fec1424b884f029479d3981
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date:   8 weeks ago
config: arm64-randconfig-s032-20200811 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.2-168-g9554805c-dirty
        git checkout 670d0a4b10704667765f7d18f7592993d02783aa
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=arm64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>


sparse warnings: (new ones prefixed by >>)

   kernel/trace/ftrace.c:292:16: sparse:     expected struct ftrace_ops **p
   kernel/trace/ftrace.c:292:16: sparse:     got struct ftrace_ops [noderef] __rcu **list
   kernel/trace/ftrace.c:292:50: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct ftrace_ops **p @@     got struct ftrace_ops [noderef] __rcu ** @@
   kernel/trace/ftrace.c:292:50: sparse:     expected struct ftrace_ops **p
   kernel/trace/ftrace.c:292:50: sparse:     got struct ftrace_ops [noderef] __rcu **
   kernel/trace/ftrace.c:299:12: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct ftrace_ops * @@     got struct ftrace_ops [noderef] __rcu *next @@
   kernel/trace/ftrace.c:299:12: sparse:     expected struct ftrace_ops *
   kernel/trace/ftrace.c:299:12: sparse:     got struct ftrace_ops [noderef] __rcu *next
   kernel/trace/ftrace.c:587:5: sparse: sparse: symbol 'ftrace_profile_pages_init' was not declared. Should it be static?
   kernel/trace/ftrace.c:1043:43: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct ftrace_hash [noderef] __rcu *notrace_hash @@     got struct ftrace_hash * @@
   kernel/trace/ftrace.c:1043:43: sparse:     expected struct ftrace_hash [noderef] __rcu *notrace_hash
   kernel/trace/ftrace.c:1043:43: sparse:     got struct ftrace_hash *
   kernel/trace/ftrace.c:1044:43: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct ftrace_hash [noderef] __rcu *filter_hash @@     got struct ftrace_hash * @@
   kernel/trace/ftrace.c:1044:43: sparse:     expected struct ftrace_hash [noderef] __rcu *filter_hash
   kernel/trace/ftrace.c:1044:43: sparse:     got struct ftrace_hash *
   kernel/trace/ftrace.c:1263:40: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct ftrace_hash *hash @@     got struct ftrace_hash [noderef] __rcu *filter_hash @@
   kernel/trace/ftrace.c:1263:40: sparse:     expected struct ftrace_hash *hash
   kernel/trace/ftrace.c:1263:40: sparse:     got struct ftrace_hash [noderef] __rcu *filter_hash
   kernel/trace/ftrace.c:1264:40: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct ftrace_hash *hash @@     got struct ftrace_hash [noderef] __rcu *notrace_hash @@
   kernel/trace/ftrace.c:1264:40: sparse:     expected struct ftrace_hash *hash
   kernel/trace/ftrace.c:1264:40: sparse:     got struct ftrace_hash [noderef] __rcu *notrace_hash
   kernel/trace/ftrace.c:1959:54: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct ftrace_hash *old_hash @@     got struct ftrace_hash [noderef] __rcu *filter_hash @@
   kernel/trace/ftrace.c:1959:54: sparse:     expected struct ftrace_hash *old_hash
   kernel/trace/ftrace.c:1959:54: sparse:     got struct ftrace_hash [noderef] __rcu *filter_hash
   kernel/trace/ftrace.c:1445:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/trace/ftrace.c:1445:9: sparse:    struct ftrace_hash [noderef] __rcu *
   kernel/trace/ftrace.c:1445:9: sparse:    struct ftrace_hash *
   kernel/trace/ftrace.c:1461:39: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct ftrace_hash *hash @@     got struct ftrace_hash [noderef] __rcu *filter_hash @@
   kernel/trace/ftrace.c:1461:39: sparse:     expected struct ftrace_hash *hash
   kernel/trace/ftrace.c:1461:39: sparse:     got struct ftrace_hash [noderef] __rcu *filter_hash
   kernel/trace/ftrace.c:1462:40: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct ftrace_hash *hash @@     got struct ftrace_hash [noderef] __rcu *filter_hash @@
   kernel/trace/ftrace.c:1462:40: sparse:     expected struct ftrace_hash *hash
   kernel/trace/ftrace.c:1462:40: sparse:     got struct ftrace_hash [noderef] __rcu *filter_hash
   kernel/trace/ftrace.c:1463:40: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct ftrace_hash *hash @@     got struct ftrace_hash [noderef] __rcu *notrace_hash @@
   kernel/trace/ftrace.c:1463:40: sparse:     expected struct ftrace_hash *hash
   kernel/trace/ftrace.c:1463:40: sparse:     got struct ftrace_hash [noderef] __rcu *notrace_hash
   kernel/trace/ftrace.c:1464:42: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct ftrace_hash *hash @@     got struct ftrace_hash [noderef] __rcu *notrace_hash @@
   kernel/trace/ftrace.c:1464:42: sparse:     expected struct ftrace_hash *hash
   kernel/trace/ftrace.c:1464:42: sparse:     got struct ftrace_hash [noderef] __rcu *notrace_hash
   kernel/trace/ftrace.c:1618:18: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct ftrace_ops *ops @@     got struct ftrace_ops [noderef] __rcu *[addressable] [toplevel] ftrace_ops_list @@
   kernel/trace/ftrace.c:1618:18: sparse:     expected struct ftrace_ops *ops
   kernel/trace/ftrace.c:1618:18: sparse:     got struct ftrace_ops [noderef] __rcu *[addressable] [toplevel] ftrace_ops_list
   kernel/trace/ftrace.c:1619:43: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct ftrace_ops *ops @@     got struct ftrace_ops [noderef] __rcu *next @@
   kernel/trace/ftrace.c:1619:43: sparse:     expected struct ftrace_ops *ops
   kernel/trace/ftrace.c:1619:43: sparse:     got struct ftrace_ops [noderef] __rcu *next
   kernel/trace/ftrace.c:1665:22: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct ftrace_hash *hash @@     got struct ftrace_hash [noderef] __rcu *filter_hash @@
   kernel/trace/ftrace.c:1665:22: sparse:     expected struct ftrace_hash *hash
   kernel/trace/ftrace.c:1665:22: sparse:     got struct ftrace_hash [noderef] __rcu *filter_hash
   kernel/trace/ftrace.c:1666:28: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct ftrace_hash *other_hash @@     got struct ftrace_hash [noderef] __rcu *notrace_hash @@
   kernel/trace/ftrace.c:1666:28: sparse:     expected struct ftrace_hash *other_hash
   kernel/trace/ftrace.c:1666:28: sparse:     got struct ftrace_hash [noderef] __rcu *notrace_hash
   kernel/trace/ftrace.c:1671:22: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct ftrace_hash *hash @@     got struct ftrace_hash [noderef] __rcu *notrace_hash @@
   kernel/trace/ftrace.c:1671:22: sparse:     expected struct ftrace_hash *hash
   kernel/trace/ftrace.c:1671:22: sparse:     got struct ftrace_hash [noderef] __rcu *notrace_hash
   kernel/trace/ftrace.c:1672:28: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct ftrace_hash *other_hash @@     got struct ftrace_hash [noderef] __rcu *filter_hash @@
   kernel/trace/ftrace.c:1672:28: sparse:     expected struct ftrace_hash *other_hash
   kernel/trace/ftrace.c:1672:28: sparse:     got struct ftrace_hash [noderef] __rcu *filter_hash
   kernel/trace/ftrace.c:1937:50: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct ftrace_hash *hash @@     got struct ftrace_hash [noderef] __rcu *filter_hash @@
   kernel/trace/ftrace.c:1937:50: sparse:     expected struct ftrace_hash *hash
   kernel/trace/ftrace.c:1937:50: sparse:     got struct ftrace_hash [noderef] __rcu *filter_hash
   kernel/trace/ftrace.c:1948:50: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct ftrace_hash *hash @@     got struct ftrace_hash [noderef] __rcu *filter_hash @@
   kernel/trace/ftrace.c:1948:50: sparse:     expected struct ftrace_hash *hash
   kernel/trace/ftrace.c:1948:50: sparse:     got struct ftrace_hash [noderef] __rcu *filter_hash
   kernel/trace/ftrace.c:3220:14: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct ftrace_hash *hash @@     got struct ftrace_hash [noderef] __rcu *filter_hash @@
   kernel/trace/ftrace.c:3220:14: sparse:     expected struct ftrace_hash *hash
   kernel/trace/ftrace.c:3220:14: sparse:     got struct ftrace_hash [noderef] __rcu *filter_hash
   kernel/trace/ftrace.c:3237:22: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct ftrace_hash *hash @@     got struct ftrace_hash [noderef] __rcu *filter_hash @@
   kernel/trace/ftrace.c:3237:22: sparse:     expected struct ftrace_hash *hash
   kernel/trace/ftrace.c:3237:22: sparse:     got struct ftrace_hash [noderef] __rcu *filter_hash
   kernel/trace/ftrace.c:3712:22: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct ftrace_hash *hash @@     got struct ftrace_hash [noderef] __rcu *notrace_hash @@
   kernel/trace/ftrace.c:3712:22: sparse:     expected struct ftrace_hash *hash
   kernel/trace/ftrace.c:3712:22: sparse:     got struct ftrace_hash [noderef] __rcu *notrace_hash
   kernel/trace/ftrace.c:3715:22: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct ftrace_hash *hash @@     got struct ftrace_hash [noderef] __rcu *filter_hash @@
   kernel/trace/ftrace.c:3715:22: sparse:     expected struct ftrace_hash *hash
   kernel/trace/ftrace.c:3715:22: sparse:     got struct ftrace_hash [noderef] __rcu *filter_hash
   kernel/trace/ftrace.c:4117:27: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct ftrace_hash **orig_hash @@     got struct ftrace_hash [noderef] __rcu ** @@
   kernel/trace/ftrace.c:4117:27: sparse:     expected struct ftrace_hash **orig_hash
   kernel/trace/ftrace.c:4117:27: sparse:     got struct ftrace_hash [noderef] __rcu **
   kernel/trace/ftrace.c:4119:27: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct ftrace_hash **orig_hash @@     got struct ftrace_hash [noderef] __rcu ** @@
   kernel/trace/ftrace.c:4119:27: sparse:     expected struct ftrace_hash **orig_hash
   kernel/trace/ftrace.c:4119:27: sparse:     got struct ftrace_hash [noderef] __rcu **
   kernel/trace/ftrace.c:4491:19: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct ftrace_hash **orig_hash @@     got struct ftrace_hash [noderef] __rcu ** @@
   kernel/trace/ftrace.c:4491:19: sparse:     expected struct ftrace_hash **orig_hash
   kernel/trace/ftrace.c:4491:19: sparse:     got struct ftrace_hash [noderef] __rcu **
   kernel/trace/ftrace.c:4633:19: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct ftrace_hash **orig_hash @@     got struct ftrace_hash [noderef] __rcu ** @@
   kernel/trace/ftrace.c:4633:19: sparse:     expected struct ftrace_hash **orig_hash
   kernel/trace/ftrace.c:4633:19: sparse:     got struct ftrace_hash [noderef] __rcu **
   kernel/trace/ftrace.c:4639:34: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct ftrace_hash [noderef] __rcu *filter_hash @@     got struct ftrace_hash *[assigned] old_hash @@
   kernel/trace/ftrace.c:4639:34: sparse:     expected struct ftrace_hash [noderef] __rcu *filter_hash
   kernel/trace/ftrace.c:4639:34: sparse:     got struct ftrace_hash *[assigned] old_hash
   kernel/trace/ftrace.c:4891:27: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct ftrace_hash **orig_hash @@     got struct ftrace_hash [noderef] __rcu ** @@
   kernel/trace/ftrace.c:4891:27: sparse:     expected struct ftrace_hash **orig_hash
   kernel/trace/ftrace.c:4891:27: sparse:     got struct ftrace_hash [noderef] __rcu **
   kernel/trace/ftrace.c:4893:27: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct ftrace_hash **orig_hash @@     got struct ftrace_hash [noderef] __rcu ** @@
   kernel/trace/ftrace.c:4893:27: sparse:     expected struct ftrace_hash **orig_hash
   kernel/trace/ftrace.c:4893:27: sparse:     got struct ftrace_hash [noderef] __rcu **
   kernel/trace/ftrace.c:5477:35: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct ftrace_hash [noderef] __rcu *extern [addressable] [toplevel] ftrace_graph_hash @@     got struct ftrace_hash *[assigned] hash @@
>> kernel/trace/ftrace.c:5477:35: sparse:     expected struct ftrace_hash [noderef] __rcu *extern [addressable] [toplevel] ftrace_graph_hash
   kernel/trace/ftrace.c:5477:35: sparse:     got struct ftrace_hash *[assigned] hash
   kernel/trace/ftrace.c:5479:43: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct ftrace_hash [noderef] __rcu *extern [addressable] [toplevel] ftrace_graph_notrace_hash @@     got struct ftrace_hash *[assigned] hash @@
>> kernel/trace/ftrace.c:5479:43: sparse:     expected struct ftrace_hash [noderef] __rcu *extern [addressable] [toplevel] ftrace_graph_notrace_hash
   kernel/trace/ftrace.c:5479:43: sparse:     got struct ftrace_hash *[assigned] hash
   kernel/trace/ftrace.c:5538:35: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct ftrace_hash **orig_hash @@     got struct ftrace_hash [noderef] __rcu ** @@
   kernel/trace/ftrace.c:5538:35: sparse:     expected struct ftrace_hash **orig_hash
   kernel/trace/ftrace.c:5538:35: sparse:     got struct ftrace_hash [noderef] __rcu **
   kernel/trace/ftrace.c:5542:35: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct ftrace_hash **orig_hash @@     got struct ftrace_hash [noderef] __rcu ** @@
   kernel/trace/ftrace.c:5542:35: sparse:     expected struct ftrace_hash **orig_hash
   kernel/trace/ftrace.c:5542:35: sparse:     got struct ftrace_hash [noderef] __rcu **
   kernel/trace/ftrace.c:5596:47: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct ftrace_hash [noderef] __rcu *[addressable] [toplevel] ftrace_graph_hash @@     got struct ftrace_hash * @@
>> kernel/trace/ftrace.c:5596:47: sparse:     expected struct ftrace_hash [noderef] __rcu *[addressable] [toplevel] ftrace_graph_hash
   kernel/trace/ftrace.c:5596:47: sparse:     got struct ftrace_hash *
   kernel/trace/ftrace.c:5597:55: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct ftrace_hash [noderef] __rcu *[addressable] [toplevel] ftrace_graph_notrace_hash @@     got struct ftrace_hash * @@
>> kernel/trace/ftrace.c:5597:55: sparse:     expected struct ftrace_hash [noderef] __rcu *[addressable] [toplevel] ftrace_graph_notrace_hash
   kernel/trace/ftrace.c:5597:55: sparse:     got struct ftrace_hash *
   kernel/trace/ftrace.c:6192:18: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct ftrace_ops *ops @@     got struct ftrace_ops [noderef] __rcu *[addressable] [toplevel] ftrace_ops_list @@
   kernel/trace/ftrace.c:6192:18: sparse:     expected struct ftrace_ops *ops
   kernel/trace/ftrace.c:6192:18: sparse:     got struct ftrace_ops [noderef] __rcu *[addressable] [toplevel] ftrace_ops_list
   kernel/trace/ftrace.c:6192:66: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct ftrace_ops *ops @@     got struct ftrace_ops [noderef] __rcu *next @@
   kernel/trace/ftrace.c:6192:66: sparse:     expected struct ftrace_ops *ops
   kernel/trace/ftrace.c:6192:66: sparse:     got struct ftrace_ops [noderef] __rcu *next
   kernel/trace/ftrace.c:6233:59: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected struct ftrace_hash *hash @@     got struct ftrace_hash [noderef] __rcu *filter_hash @@
   kernel/trace/ftrace.c:6233:59: sparse:     expected struct ftrace_hash *hash
   kernel/trace/ftrace.c:6233:59: sparse:     got struct ftrace_hash [noderef] __rcu *filter_hash
   kernel/trace/ftrace.c:6234:59: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected struct ftrace_hash *hash @@     got struct ftrace_hash [noderef] __rcu *notrace_hash @@
   kernel/trace/ftrace.c:6234:59: sparse:     expected struct ftrace_hash *hash
   kernel/trace/ftrace.c:6234:59: sparse:     got struct ftrace_hash [noderef] __rcu *notrace_hash
   kernel/trace/ftrace.c:6589:62: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected struct ftrace_hash *hash @@     got struct ftrace_hash [noderef] __rcu *filter_hash @@
   kernel/trace/ftrace.c:6589:62: sparse:     expected struct ftrace_hash *hash
   kernel/trace/ftrace.c:6589:62: sparse:     got struct ftrace_hash [noderef] __rcu *filter_hash
   kernel/trace/ftrace.c:6590:62: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected struct ftrace_hash *hash @@     got struct ftrace_hash [noderef] __rcu *notrace_hash @@
   kernel/trace/ftrace.c:6590:62: sparse:     expected struct ftrace_hash *hash
   kernel/trace/ftrace.c:6590:62: sparse:     got struct ftrace_hash [noderef] __rcu *notrace_hash
   kernel/trace/ftrace.c:6636:36: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/trace/ftrace.c:6636:36: sparse:    struct ftrace_ops [noderef] __rcu *
   kernel/trace/ftrace.c:6636:36: sparse:    struct ftrace_ops *
   kernel/trace/ftrace.c:7423:43: sparse: sparse: incorrect type in argument 3 (different address spaces) @@     expected void * @@     got void [noderef] __user *buffer @@
   kernel/trace/ftrace.c:7423:43: sparse:     expected void *
   kernel/trace/ftrace.c:7423:43: sparse:     got void [noderef] __user *buffer
   kernel/trace/ftrace.c:203:20: sparse: sparse: dereference of noderef expression
   kernel/trace/ftrace.c:203:20: sparse: sparse: dereference of noderef expression
   kernel/trace/ftrace.c:203:20: sparse: sparse: dereference of noderef expression
   kernel/trace/ftrace.c:3011:46: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct ftrace_hash *hash @@     got struct ftrace_hash [noderef] __rcu *filter_hash @@
   kernel/trace/ftrace.c:3011:46: sparse:     expected struct ftrace_hash *hash
   kernel/trace/ftrace.c:3011:46: sparse:     got struct ftrace_hash [noderef] __rcu *filter_hash
   kernel/trace/ftrace.c:3012:47: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct ftrace_hash *hash @@     got struct ftrace_hash [noderef] __rcu *filter_hash @@
   kernel/trace/ftrace.c:3012:47: sparse:     expected struct ftrace_hash *hash
   kernel/trace/ftrace.c:3012:47: sparse:     got struct ftrace_hash [noderef] __rcu *filter_hash
   kernel/trace/ftrace.c:3016:44: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct ftrace_hash *hash @@     got struct ftrace_hash [noderef] __rcu *notrace_hash @@
   kernel/trace/ftrace.c:3016:44: sparse:     expected struct ftrace_hash *hash
   kernel/trace/ftrace.c:3016:44: sparse:     got struct ftrace_hash [noderef] __rcu *notrace_hash
   kernel/trace/ftrace.c:2988:48: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct ftrace_hash *hash @@     got struct ftrace_hash [noderef] __rcu *filter_hash @@
   kernel/trace/ftrace.c:2988:48: sparse:     expected struct ftrace_hash *hash
   kernel/trace/ftrace.c:2988:48: sparse:     got struct ftrace_hash [noderef] __rcu *filter_hash
   kernel/trace/ftrace.c:2989:49: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct ftrace_hash *hash @@     got struct ftrace_hash [noderef] __rcu *notrace_hash @@
   kernel/trace/ftrace.c:2989:49: sparse:     expected struct ftrace_hash *hash
   kernel/trace/ftrace.c:2989:49: sparse:     got struct ftrace_hash [noderef] __rcu *notrace_hash

vim +5477 kernel/trace/ftrace.c

0d7d9a16ce11268 Namhyung Kim             2014-06-13  5456  
0d7d9a16ce11268 Namhyung Kim             2014-06-13  5457  static void __init set_ftrace_early_graph(char *buf, int enable)
369bc18f9a6c4e2 Stefan Assmann           2009-10-12  5458  {
369bc18f9a6c4e2 Stefan Assmann           2009-10-12  5459  	int ret;
369bc18f9a6c4e2 Stefan Assmann           2009-10-12  5460  	char *func;
b9b0c831bed2682 Namhyung Kim             2017-01-20  5461  	struct ftrace_hash *hash;
0d7d9a16ce11268 Namhyung Kim             2014-06-13  5462  
92ad18ec26611e8 Steven Rostedt (VMware   2017-03-02  5463) 	hash = alloc_ftrace_hash(FTRACE_HASH_DEFAULT_BITS);
24589e3a20876dc Steven Rostedt (VMware   2020-01-25  5464) 	if (MEM_FAIL(!hash, "Failed to allocate hash\n"))
92ad18ec26611e8 Steven Rostedt (VMware   2017-03-02  5465) 		return;
369bc18f9a6c4e2 Stefan Assmann           2009-10-12  5466  
369bc18f9a6c4e2 Stefan Assmann           2009-10-12  5467  	while (buf) {
369bc18f9a6c4e2 Stefan Assmann           2009-10-12  5468  		func = strsep(&buf, ",");
369bc18f9a6c4e2 Stefan Assmann           2009-10-12  5469  		/* we allow only one expression at a time */
b9b0c831bed2682 Namhyung Kim             2017-01-20  5470  		ret = ftrace_graph_set_hash(hash, func);
369bc18f9a6c4e2 Stefan Assmann           2009-10-12  5471  		if (ret)
369bc18f9a6c4e2 Stefan Assmann           2009-10-12  5472  			printk(KERN_DEBUG "ftrace: function %s not "
369bc18f9a6c4e2 Stefan Assmann           2009-10-12  5473  					  "traceable\n", func);
369bc18f9a6c4e2 Stefan Assmann           2009-10-12  5474  	}
92ad18ec26611e8 Steven Rostedt (VMware   2017-03-02  5475) 
92ad18ec26611e8 Steven Rostedt (VMware   2017-03-02  5476) 	if (enable)
92ad18ec26611e8 Steven Rostedt (VMware   2017-03-02 @5477) 		ftrace_graph_hash = hash;
92ad18ec26611e8 Steven Rostedt (VMware   2017-03-02  5478) 	else
92ad18ec26611e8 Steven Rostedt (VMware   2017-03-02 @5479) 		ftrace_graph_notrace_hash = hash;
369bc18f9a6c4e2 Stefan Assmann           2009-10-12  5480  }
369bc18f9a6c4e2 Stefan Assmann           2009-10-12  5481  #endif /* CONFIG_FUNCTION_GRAPH_TRACER */
369bc18f9a6c4e2 Stefan Assmann           2009-10-12  5482  
2a85a37f168d2b4 Steven Rostedt           2011-12-19  5483  void __init
2a85a37f168d2b4 Steven Rostedt           2011-12-19  5484  ftrace_set_early_filter(struct ftrace_ops *ops, char *buf, int enable)
2af15d6a44b871a Steven Rostedt           2009-05-28  5485  {
2af15d6a44b871a Steven Rostedt           2009-05-28  5486  	char *func;
2af15d6a44b871a Steven Rostedt           2009-05-28  5487  
f04f24fb7e48d44 Masami Hiramatsu         2013-05-09  5488  	ftrace_ops_init(ops);
f04f24fb7e48d44 Masami Hiramatsu         2013-05-09  5489  
2af15d6a44b871a Steven Rostedt           2009-05-28  5490  	while (buf) {
2af15d6a44b871a Steven Rostedt           2009-05-28  5491  		func = strsep(&buf, ",");
f45948e898e7bc7 Steven Rostedt           2011-05-02  5492  		ftrace_set_regex(ops, func, strlen(func), 0, enable);
2af15d6a44b871a Steven Rostedt           2009-05-28  5493  	}
2af15d6a44b871a Steven Rostedt           2009-05-28  5494  }
2af15d6a44b871a Steven Rostedt           2009-05-28  5495  
2af15d6a44b871a Steven Rostedt           2009-05-28  5496  static void __init set_ftrace_early_filters(void)
2af15d6a44b871a Steven Rostedt           2009-05-28  5497  {
2af15d6a44b871a Steven Rostedt           2009-05-28  5498  	if (ftrace_filter_buf[0])
2a85a37f168d2b4 Steven Rostedt           2011-12-19  5499  		ftrace_set_early_filter(&global_ops, ftrace_filter_buf, 1);
2af15d6a44b871a Steven Rostedt           2009-05-28  5500  	if (ftrace_notrace_buf[0])
2a85a37f168d2b4 Steven Rostedt           2011-12-19  5501  		ftrace_set_early_filter(&global_ops, ftrace_notrace_buf, 0);
369bc18f9a6c4e2 Stefan Assmann           2009-10-12  5502  #ifdef CONFIG_FUNCTION_GRAPH_TRACER
369bc18f9a6c4e2 Stefan Assmann           2009-10-12  5503  	if (ftrace_graph_buf[0])
0d7d9a16ce11268 Namhyung Kim             2014-06-13  5504  		set_ftrace_early_graph(ftrace_graph_buf, 1);
0d7d9a16ce11268 Namhyung Kim             2014-06-13  5505  	if (ftrace_graph_notrace_buf[0])
0d7d9a16ce11268 Namhyung Kim             2014-06-13  5506  		set_ftrace_early_graph(ftrace_graph_notrace_buf, 0);
369bc18f9a6c4e2 Stefan Assmann           2009-10-12  5507  #endif /* CONFIG_FUNCTION_GRAPH_TRACER */
2af15d6a44b871a Steven Rostedt           2009-05-28  5508  }
2af15d6a44b871a Steven Rostedt           2009-05-28  5509  
fc13cb0ce45296f Steven Rostedt           2011-12-19  5510  int ftrace_regex_release(struct inode *inode, struct file *file)
5072c59fd45e997 Steven Rostedt           2008-05-12  5511  {
5072c59fd45e997 Steven Rostedt           2008-05-12  5512  	struct seq_file *m = (struct seq_file *)file->private_data;
5072c59fd45e997 Steven Rostedt           2008-05-12  5513  	struct ftrace_iterator *iter;
33dc9b1267d59ce Steven Rostedt           2011-05-02  5514  	struct ftrace_hash **orig_hash;
689fd8b65d669b9 jolsa@...hat.com         2009-09-11  5515  	struct trace_parser *parser;
ed926f9b35cda09 Steven Rostedt           2011-05-03  5516  	int filter_hash;
33dc9b1267d59ce Steven Rostedt           2011-05-02  5517  	int ret;
5072c59fd45e997 Steven Rostedt           2008-05-12  5518  
5072c59fd45e997 Steven Rostedt           2008-05-12  5519  	if (file->f_mode & FMODE_READ) {
5072c59fd45e997 Steven Rostedt           2008-05-12  5520  		iter = m->private;
5072c59fd45e997 Steven Rostedt           2008-05-12  5521  		seq_release(inode, file);
5072c59fd45e997 Steven Rostedt           2008-05-12  5522  	} else
5072c59fd45e997 Steven Rostedt           2008-05-12  5523  		iter = file->private_data;
5072c59fd45e997 Steven Rostedt           2008-05-12  5524  
689fd8b65d669b9 jolsa@...hat.com         2009-09-11  5525  	parser = &iter->parser;
689fd8b65d669b9 jolsa@...hat.com         2009-09-11  5526  	if (trace_parser_loaded(parser)) {
1cf41dd79993389 Steven Rostedt           2011-04-29  5527  		ftrace_match_records(iter->hash, parser->buffer, parser->idx);
5072c59fd45e997 Steven Rostedt           2008-05-12  5528  	}
5072c59fd45e997 Steven Rostedt           2008-05-12  5529  
058e297d34a404c Steven Rostedt           2011-04-29  5530  	trace_parser_put(parser);
058e297d34a404c Steven Rostedt           2011-04-29  5531  
33b7f99cf003ca6 Steven Rostedt (Red Hat  2014-08-15  5532) 	mutex_lock(&iter->ops->func_hash->regex_lock);
3f2367ba7cbf13e Masami Hiramatsu         2013-05-09  5533  
058e297d34a404c Steven Rostedt           2011-04-29  5534  	if (file->f_mode & FMODE_WRITE) {
ed926f9b35cda09 Steven Rostedt           2011-05-03  5535  		filter_hash = !!(iter->flags & FTRACE_ITER_FILTER);
ed926f9b35cda09 Steven Rostedt           2011-05-03  5536  
8c08f0d5c6fb10f Steven Rostedt (VMware   2017-06-26  5537) 		if (filter_hash) {
33b7f99cf003ca6 Steven Rostedt (Red Hat  2014-08-15  5538) 			orig_hash = &iter->ops->func_hash->filter_hash;
69d71879d2cf67a Steven Rostedt (VMware   2017-07-05  5539) 			if (iter->tr && !list_empty(&iter->tr->mod_trace))
8c08f0d5c6fb10f Steven Rostedt (VMware   2017-06-26  5540) 				iter->hash->flags |= FTRACE_HASH_FL_MOD;
8c08f0d5c6fb10f Steven Rostedt (VMware   2017-06-26  5541) 		} else
33b7f99cf003ca6 Steven Rostedt (Red Hat  2014-08-15  5542) 			orig_hash = &iter->ops->func_hash->notrace_hash;
33dc9b1267d59ce Steven Rostedt           2011-05-02  5543  
e6ea44e9b4c1232 Steven Rostedt           2009-02-14  5544  		mutex_lock(&ftrace_lock);
e16b35ddb840788 Steven Rostedt (VMware   2017-04-04  5545) 		ret = ftrace_hash_move_and_update_ops(iter->ops, orig_hash,
e16b35ddb840788 Steven Rostedt (VMware   2017-04-04  5546) 						      iter->hash, filter_hash);
e6ea44e9b4c1232 Steven Rostedt           2009-02-14  5547  		mutex_unlock(&ftrace_lock);
c20489dad156dd9 Steven Rostedt (VMware   2017-03-29  5548) 	} else {
c20489dad156dd9 Steven Rostedt (VMware   2017-03-29  5549) 		/* For read only, the hash is the ops hash */
c20489dad156dd9 Steven Rostedt (VMware   2017-03-29  5550) 		iter->hash = NULL;
058e297d34a404c Steven Rostedt           2011-04-29  5551  	}
3f2367ba7cbf13e Masami Hiramatsu         2013-05-09  5552  
33b7f99cf003ca6 Steven Rostedt (Red Hat  2014-08-15  5553) 	mutex_unlock(&iter->ops->func_hash->regex_lock);
33dc9b1267d59ce Steven Rostedt           2011-05-02  5554  	free_ftrace_hash(iter->hash);
9ef16693aff8137 Steven Rostedt (VMware   2019-10-11  5555) 	if (iter->tr)
9ef16693aff8137 Steven Rostedt (VMware   2019-10-11  5556) 		trace_array_put(iter->tr);
33dc9b1267d59ce Steven Rostedt           2011-05-02  5557  	kfree(iter);
689fd8b65d669b9 jolsa@...hat.com         2009-09-11  5558  
5072c59fd45e997 Steven Rostedt           2008-05-12  5559  	return 0;
5072c59fd45e997 Steven Rostedt           2008-05-12  5560  }
5072c59fd45e997 Steven Rostedt           2008-05-12  5561  
5e2336a0d47c966 Steven Rostedt           2009-03-05  5562  static const struct file_operations ftrace_avail_fops = {
5072c59fd45e997 Steven Rostedt           2008-05-12  5563  	.open = ftrace_avail_open,
5072c59fd45e997 Steven Rostedt           2008-05-12  5564  	.read = seq_read,
5072c59fd45e997 Steven Rostedt           2008-05-12  5565  	.llseek = seq_lseek,
3be04b471b95b87 Li Zefan                 2009-08-17  5566  	.release = seq_release_private,
5072c59fd45e997 Steven Rostedt           2008-05-12  5567  };
5072c59fd45e997 Steven Rostedt           2008-05-12  5568  
647bcd03d5b2fb4 Steven Rostedt           2011-05-03  5569  static const struct file_operations ftrace_enabled_fops = {
647bcd03d5b2fb4 Steven Rostedt           2011-05-03  5570  	.open = ftrace_enabled_open,
647bcd03d5b2fb4 Steven Rostedt           2011-05-03  5571  	.read = seq_read,
647bcd03d5b2fb4 Steven Rostedt           2011-05-03  5572  	.llseek = seq_lseek,
647bcd03d5b2fb4 Steven Rostedt           2011-05-03  5573  	.release = seq_release_private,
647bcd03d5b2fb4 Steven Rostedt           2011-05-03  5574  };
647bcd03d5b2fb4 Steven Rostedt           2011-05-03  5575  
5e2336a0d47c966 Steven Rostedt           2009-03-05  5576  static const struct file_operations ftrace_filter_fops = {
5072c59fd45e997 Steven Rostedt           2008-05-12  5577  	.open = ftrace_filter_open,
850a80cfaa5aec3 Lai Jiangshan            2009-03-13  5578  	.read = seq_read,
5072c59fd45e997 Steven Rostedt           2008-05-12  5579  	.write = ftrace_filter_write,
098c879e1f2d6ee Steven Rostedt (Red Hat  2013-12-21  5580) 	.llseek = tracing_lseek,
1cf41dd79993389 Steven Rostedt           2011-04-29  5581  	.release = ftrace_regex_release,
5072c59fd45e997 Steven Rostedt           2008-05-12  5582  };
5072c59fd45e997 Steven Rostedt           2008-05-12  5583  
5e2336a0d47c966 Steven Rostedt           2009-03-05  5584  static const struct file_operations ftrace_notrace_fops = {
41c52c0db9607e5 Steven Rostedt           2008-05-22  5585  	.open = ftrace_notrace_open,
850a80cfaa5aec3 Lai Jiangshan            2009-03-13  5586  	.read = seq_read,
41c52c0db9607e5 Steven Rostedt           2008-05-22  5587  	.write = ftrace_notrace_write,
098c879e1f2d6ee Steven Rostedt (Red Hat  2013-12-21  5588) 	.llseek = tracing_lseek,
1cf41dd79993389 Steven Rostedt           2011-04-29  5589  	.release = ftrace_regex_release,
41c52c0db9607e5 Steven Rostedt           2008-05-22  5590  };
41c52c0db9607e5 Steven Rostedt           2008-05-22  5591  
ea4e2bc4d9f7370 Steven Rostedt           2008-12-03  5592  #ifdef CONFIG_FUNCTION_GRAPH_TRACER
ea4e2bc4d9f7370 Steven Rostedt           2008-12-03  5593  
ea4e2bc4d9f7370 Steven Rostedt           2008-12-03  5594  static DEFINE_MUTEX(graph_lock);
ea4e2bc4d9f7370 Steven Rostedt           2008-12-03  5595  
24a9729f831462b Amol Grover              2020-02-01 @5596  struct ftrace_hash __rcu *ftrace_graph_hash = EMPTY_HASH;
fd0e6852c407dd9 Amol Grover              2020-02-05 @5597  struct ftrace_hash __rcu *ftrace_graph_notrace_hash = EMPTY_HASH;
b9b0c831bed2682 Namhyung Kim             2017-01-20  5598  

:::::: The code at line 5477 was first introduced by commit
:::::: 92ad18ec26611e8a47639e600bd9dc42fbe2edcf ftrace/graph: Do not modify the EMPTY_HASH for the function_graph filter

:::::: TO: Steven Rostedt (VMware) <rostedt@...dmis.org>
:::::: CC: Steven Rostedt (VMware) <rostedt@...dmis.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ