All of lore.kernel.org
 help / color / mirror / Atom feed
From: Philip Li <philip.li@intel.com>
To: kernel test robot <lkp@intel.com>
Cc: Christoph Hellwig <hch@lst.de>, <oe-kbuild-all@lists.linux.dev>,
	<linux-kernel@vger.kernel.org>
Subject: Re: kernel/events/core.c:4881:24: sparse: sparse: incorrect type in assignment (different base types)
Date: Sat, 11 Nov 2023 22:55:16 +0800	[thread overview]
Message-ID: <ZU+V1Ela01RECiwG@rli9-mobl> (raw)
In-Reply-To: <202311112205.oMWYlOQe-lkp@intel.com>

On Sat, Nov 11, 2023 at 10:43:17PM +0800, kernel test robot wrote:
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head:   3ca112b71f35dd5d99fc4571a56b5fc6f0c15814
> commit: ee219b946e4bf7df2d2c68dfaae1bdaa360ec2ea uapi: turn __poll_t sparse checks on by default
> date:   5 years ago
> config: x86_64-allnoconfig (https://download.01.org/0day-ci/archive/20231111/202311112205.oMWYlOQe-lkp@intel.com/config)
> compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231111/202311112205.oMWYlOQe-lkp@intel.com/reproduce)
> 
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <lkp@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202311112205.oMWYlOQe-lkp@intel.com/

Kindly ignore this report, the reported commit is not the cause of the
warning. Sorry for the false info.

> 
> sparse warnings: (new ones prefixed by >>)
>    kernel/events/core.c:570:26: sparse: sparse: function 'perf_pmu_name' with external linkage has definition
>    kernel/events/core.c:1034:1: sparse: sparse: symbol 'perf_cgroup_switch' was not declared. Should it be static?
>    kernel/events/core.c:1132:22: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] <asn:3> *__vpp_verify @@     got int * @@
>    kernel/events/core.c:1132:22: sparse:     expected void const [noderef] <asn:3> *__vpp_verify
>    kernel/events/core.c:1132:22: sparse:     got int *
>    kernel/events/core.c:1139:22: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] <asn:3> *__vpp_verify @@     got int * @@
>    kernel/events/core.c:1139:22: sparse:     expected void const [noderef] <asn:3> *__vpp_verify
>    kernel/events/core.c:1139:22: sparse:     got int *
>    kernel/events/core.c:1382:15: sparse: sparse: incompatible types in comparison expression (different address spaces):
>    kernel/events/core.c:1382:15: sparse:    struct perf_event_context [noderef] <asn:4> *
>    kernel/events/core.c:1382:15: sparse:    struct perf_event_context *
>    kernel/events/core.c:1395:28: sparse: sparse: incompatible types in comparison expression (different address spaces):
>    kernel/events/core.c:1395:28: sparse:    struct perf_event_context [noderef] <asn:4> *
>    kernel/events/core.c:1395:28: sparse:    struct perf_event_context *
>    kernel/events/core.c:3083:18: sparse: sparse: incompatible types in comparison expression (different address spaces):
>    kernel/events/core.c:3083:18: sparse:    struct perf_event_context [noderef] <asn:4> *
>    kernel/events/core.c:3083:18: sparse:    struct perf_event_context *
>    kernel/events/core.c:3084:23: sparse: sparse: incompatible types in comparison expression (different address spaces):
>    kernel/events/core.c:3084:23: sparse:    struct perf_event_context [noderef] <asn:4> *
>    kernel/events/core.c:3084:23: sparse:    struct perf_event_context *
>    kernel/events/core.c:3115:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
>    kernel/events/core.c:3115:25: sparse:    struct perf_event_context [noderef] <asn:4> *
>    kernel/events/core.c:3115:25: sparse:    struct perf_event_context *
>    kernel/events/core.c:3116:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
>    kernel/events/core.c:3116:25: sparse:    struct perf_event_context [noderef] <asn:4> *
>    kernel/events/core.c:3116:25: sparse:    struct perf_event_context *
>    kernel/events/core.c:3139:43: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] <asn:3> *__vpp_verify @@     got struct perf_cpu_context * @@
>    kernel/events/core.c:3139:43: sparse:     expected void const [noderef] <asn:3> *__vpp_verify
>    kernel/events/core.c:3139:43: sparse:     got struct perf_cpu_context *
>    kernel/events/core.c:3150:43: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] <asn:3> *__vpp_verify @@     got struct perf_cpu_context * @@
>    kernel/events/core.c:3150:43: sparse:     expected void const [noderef] <asn:3> *__vpp_verify
>    kernel/events/core.c:3150:43: sparse:     got struct perf_cpu_context *
>    kernel/events/core.c:4119:26: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] <asn:3> *__vpp_verify @@     got struct perf_cpu_context * @@
>    kernel/events/core.c:4119:26: sparse:     expected void const [noderef] <asn:3> *__vpp_verify
>    kernel/events/core.c:4119:26: sparse:     got struct perf_cpu_context *
> >> kernel/events/core.c:4881:24: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __poll_t [usertype] events @@     got int @@
>    kernel/events/core.c:4881:24: sparse:     expected restricted __poll_t [usertype] events
>    kernel/events/core.c:4881:24: sparse:     got int
>    kernel/events/core.c:5068:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
>    kernel/events/core.c:5068:22: sparse:    struct ring_buffer [noderef] <asn:4> *
>    kernel/events/core.c:5068:22: sparse:    struct ring_buffer *
>    kernel/events/core.c:5197:14: sparse: sparse: incompatible types in comparison expression (different address spaces):
>    kernel/events/core.c:5197:14: sparse:    struct ring_buffer [noderef] <asn:4> *
>    kernel/events/core.c:5197:14: sparse:    struct ring_buffer *
>    kernel/events/core.c:5230:14: sparse: sparse: incompatible types in comparison expression (different address spaces):
>    kernel/events/core.c:5230:14: sparse:    struct ring_buffer [noderef] <asn:4> *
>    kernel/events/core.c:5230:14: sparse:    struct ring_buffer *
>    kernel/events/core.c:5287:14: sparse: sparse: incompatible types in comparison expression (different address spaces):
>    kernel/events/core.c:5287:14: sparse:    struct ring_buffer [noderef] <asn:4> *
>    kernel/events/core.c:5287:14: sparse:    struct ring_buffer *
>    kernel/events/core.c:5373:14: sparse: sparse: incompatible types in comparison expression (different address spaces):
>    kernel/events/core.c:5373:14: sparse:    struct ring_buffer [noderef] <asn:4> *
>    kernel/events/core.c:5373:14: sparse:    struct ring_buffer *
>    kernel/events/core.c:5386:14: sparse: sparse: incompatible types in comparison expression (different address spaces):
>    kernel/events/core.c:5386:14: sparse:    struct ring_buffer [noderef] <asn:4> *
>    kernel/events/core.c:5386:14: sparse:    struct ring_buffer *
>    kernel/events/core.c:6646:23: sparse: sparse: incompatible types in comparison expression (different address spaces):
>    kernel/events/core.c:6646:23: sparse:    struct perf_event_context [noderef] <asn:4> *
>    kernel/events/core.c:6646:23: sparse:    struct perf_event_context *
>    kernel/events/core.c:6736:13: sparse: sparse: incompatible types in comparison expression (different address spaces):
>    kernel/events/core.c:6736:13: sparse:    struct ring_buffer [noderef] <asn:4> *
>    kernel/events/core.c:6736:13: sparse:    struct ring_buffer *
>    kernel/events/core.c:6744:43: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] <asn:3> *__vpp_verify @@     got struct perf_cpu_context * @@
>    kernel/events/core.c:6744:43: sparse:     expected void const [noderef] <asn:3> *__vpp_verify
>    kernel/events/core.c:6744:43: sparse:     got struct perf_cpu_context *
>    kernel/events/core.c:7399:23: sparse: sparse: incompatible types in comparison expression (different address spaces):
>    kernel/events/core.c:7399:23: sparse:    struct perf_event_context [noderef] <asn:4> *
>    kernel/events/core.c:7399:23: sparse:    struct perf_event_context *
>    kernel/events/core.c:8079:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
>    kernel/events/core.c:8079:9: sparse:    struct swevent_hlist [noderef] <asn:4> *
>    kernel/events/core.c:8079:9: sparse:    struct swevent_hlist *
>    kernel/events/core.c:9408:35: sparse: sparse: incorrect type in return expression (different address spaces) @@     expected struct perf_cpu_context [noderef] <asn:3> * @@     got struct perf_cpu_context *[noderef] pmu_cpu_context @@
>    kernel/events/core.c:9408:35: sparse:     expected struct perf_cpu_context [noderef] <asn:3> *
>    kernel/events/core.c:9408:35: sparse:     got struct perf_cpu_context *[noderef] pmu_cpu_context
>    kernel/events/core.c:9425:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void [noderef] <asn:3> *__pdata @@     got struct perf_cpu_context *[noderef] pmu_cpu_context @@
>    kernel/events/core.c:9425:24: sparse:     expected void [noderef] <asn:3> *__pdata
>    kernel/events/core.c:9425:24: sparse:     got struct perf_cpu_context *[noderef] pmu_cpu_context
>    kernel/events/core.c:9440:1: sparse: sparse: symbol 'dev_attr_nr_addr_filters' was not declared. Should it be static?
>    kernel/events/core.c:9491:26: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] <asn:3> *__vpp_verify @@     got struct perf_cpu_context * @@
>    kernel/events/core.c:9491:26: sparse:     expected void const [noderef] <asn:3> *__vpp_verify
>    kernel/events/core.c:9491:26: sparse:     got struct perf_cpu_context *
>    kernel/events/core.c:9570:32: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected int *[noderef] pmu_disable_count @@     got int [noderef] <asn:3> * @@
>    kernel/events/core.c:9570:32: sparse:     expected int *[noderef] pmu_disable_count
>    kernel/events/core.c:9570:32: sparse:     got int [noderef] <asn:3> *
>    kernel/events/core.c:9610:30: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct perf_cpu_context *[noderef] pmu_cpu_context @@     got struct perf_cpu_context [noderef] <asn:3> * @@
>    kernel/events/core.c:9610:30: sparse:     expected struct perf_cpu_context *[noderef] pmu_cpu_context
>    kernel/events/core.c:9610:30: sparse:     got struct perf_cpu_context [noderef] <asn:3> *
>    kernel/events/core.c:9615:30: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct perf_cpu_context *[noderef] pmu_cpu_context @@     got struct perf_cpu_context [noderef] <asn:3> * @@
>    kernel/events/core.c:9615:30: sparse:     expected struct perf_cpu_context *[noderef] pmu_cpu_context
>    kernel/events/core.c:9615:30: sparse:     got struct perf_cpu_context [noderef] <asn:3> *
>    kernel/events/core.c:9622:26: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] <asn:3> *__vpp_verify @@     got struct perf_cpu_context * @@
>    kernel/events/core.c:9622:26: sparse:     expected void const [noderef] <asn:3> *__vpp_verify
>    kernel/events/core.c:9622:26: sparse:     got struct perf_cpu_context *
>    kernel/events/core.c:9675:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void [noderef] <asn:3> *__pdata @@     got int *[noderef] pmu_disable_count @@
>    kernel/events/core.c:9675:24: sparse:     expected void [noderef] <asn:3> *__pdata
>    kernel/events/core.c:9675:24: sparse:     got int *[noderef] pmu_disable_count
>    kernel/events/core.c:9696:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void [noderef] <asn:3> *__pdata @@     got int *[noderef] pmu_disable_count @@
>    kernel/events/core.c:9696:24: sparse:     expected void [noderef] <asn:3> *__pdata
>    kernel/events/core.c:9696:24: sparse:     got int *[noderef] pmu_disable_count
>    kernel/events/core.c:10897:20: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] <asn:3> *__vpp_verify @@     got struct perf_cpu_context * @@
>    kernel/events/core.c:10897:20: sparse:     expected void const [noderef] <asn:3> *__vpp_verify
>    kernel/events/core.c:10897:20: sparse:     got struct perf_cpu_context *
>    kernel/events/core.c:10898:20: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] <asn:3> *__vpp_verify @@     got struct perf_cpu_context * @@
>    kernel/events/core.c:10898:20: sparse:     expected void const [noderef] <asn:3> *__vpp_verify
>    kernel/events/core.c:10898:20: sparse:     got struct perf_cpu_context *
>    kernel/events/core.c:11068:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
>    kernel/events/core.c:11068:9: sparse:    struct perf_event_context [noderef] <asn:4> *
>    kernel/events/core.c:11068:9: sparse:    struct perf_event_context *
>    kernel/events/core.c:11178:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
>    kernel/events/core.c:11178:17: sparse:    struct perf_event_context [noderef] <asn:4> *
>    kernel/events/core.c:11178:17: sparse:    struct perf_event_context *
>    kernel/events/core.c:11566:6: sparse: sparse: symbol 'perf_swevent_init_cpu' was not declared. Should it be static?
>    kernel/events/core.c:11631:26: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] <asn:3> *__vpp_verify @@     got struct perf_cpu_context * @@
>    kernel/events/core.c:11631:26: sparse:     expected void const [noderef] <asn:3> *__vpp_verify
>    kernel/events/core.c:11631:26: sparse:     got struct perf_cpu_context *
>    kernel/events/core.c:156:9: sparse: sparse: context imbalance in 'perf_ctx_lock' - wrong count at exit
>    kernel/events/core.c:164:17: sparse: sparse: context imbalance in 'perf_ctx_unlock' - unexpected unlock
>    kernel/events/core.c:149:16: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] <asn:3> *__vpp_verify @@     got struct perf_cpu_context * @@
>    kernel/events/core.c:149:16: sparse:     expected void const [noderef] <asn:3> *__vpp_verify
>    kernel/events/core.c:149:16: sparse:     got struct perf_cpu_context *
>    kernel/events/core.c:149:16: sparse: sparse: dereference of noderef expression
>    kernel/events/core.c:149:16: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] <asn:3> *__vpp_verify @@     got struct perf_cpu_context * @@
>    kernel/events/core.c:149:16: sparse:     expected void const [noderef] <asn:3> *__vpp_verify
>    kernel/events/core.c:149:16: sparse:     got struct perf_cpu_context *
>    kernel/events/core.c:149:16: sparse: sparse: dereference of noderef expression
>    kernel/events/core.c:1132:22: sparse: sparse: dereference of noderef expression
>    kernel/events/core.c:1139:22: sparse: sparse: dereference of noderef expression
>    kernel/events/core.c: note: in included file (through include/linux/rculist.h, include/linux/dcache.h, include/linux/fs.h):
>    include/linux/rcupdate.h:686:9: sparse: sparse: context imbalance in 'perf_lock_task_context' - different lock contexts for basic block
>    kernel/events/core.c:1429:17: sparse: sparse: context imbalance in 'perf_pin_task_context' - unexpected unlock
>    kernel/events/core.c:149:16: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] <asn:3> *__vpp_verify @@     got struct perf_cpu_context * @@
>    kernel/events/core.c:149:16: sparse:     expected void const [noderef] <asn:3> *__vpp_verify
>    kernel/events/core.c:149:16: sparse:     got struct perf_cpu_context *
>    kernel/events/core.c:149:16: sparse: sparse: dereference of noderef expression
>    kernel/events/core.c:2538:9: sparse: sparse: context imbalance in '__perf_install_in_context' - wrong count at exit
> --
> >> kernel/events/ring_buffer.c:22:39: sparse: sparse: incorrect type in argument 2 (different base types) @@     expected int i @@     got restricted __poll_t [usertype] @@
>    kernel/events/ring_buffer.c:22:39: sparse:     expected int i
>    kernel/events/ring_buffer.c:22:39: sparse:     got restricted __poll_t [usertype]
>    kernel/events/ring_buffer.c:137:14: sparse: sparse: incompatible types in comparison expression (different address spaces):
>    kernel/events/ring_buffer.c:137:14: sparse:    struct ring_buffer [noderef] <asn:4> *
>    kernel/events/ring_buffer.c:137:14: sparse:    struct ring_buffer *
>    kernel/events/ring_buffer.c:137:14: sparse: sparse: incompatible types in comparison expression (different address spaces):
>    kernel/events/ring_buffer.c:137:14: sparse:    struct ring_buffer [noderef] <asn:4> *
>    kernel/events/ring_buffer.c:137:14: sparse:    struct ring_buffer *
>    kernel/events/ring_buffer.c:137:14: sparse: sparse: incompatible types in comparison expression (different address spaces):
>    kernel/events/ring_buffer.c:137:14: sparse:    struct ring_buffer [noderef] <asn:4> *
>    kernel/events/ring_buffer.c:137:14: sparse:    struct ring_buffer *
>    kernel/events/ring_buffer.c:105:1: warning: 'inline' is not at beginning of declaration [-Wold-style-declaration]
>      105 | static bool __always_inline
>          | ^~~~~~
>    kernel/events/ring_buffer.c:116:1: warning: 'inline' is not at beginning of declaration [-Wold-style-declaration]
>      116 | static int __always_inline
>          | ^~~~~~
>    kernel/events/ring_buffer.c:416:1: warning: 'inline' is not at beginning of declaration [-Wold-style-declaration]
>      416 | static bool __always_inline rb_need_aux_wakeup(struct ring_buffer *rb)
>          | ^~~~~~
> 
> vim +4881 kernel/events/core.c
> 
> 0793a61d4df8da kernel/perf_counter.c Thomas Gleixner           2008-12-04  4862  
> 9dd957485d7d89 kernel/events/core.c  Al Viro                   2017-07-03  4863  static __poll_t perf_poll(struct file *file, poll_table *wait)
> 0793a61d4df8da kernel/perf_counter.c Thomas Gleixner           2008-12-04  4864  {
> cdd6c482c9ff9c kernel/perf_event.c   Ingo Molnar               2009-09-21  4865  	struct perf_event *event = file->private_data;
> 76369139ceb955 kernel/events/core.c  Frederic Weisbecker       2011-05-19  4866  	struct ring_buffer *rb;
> a9a08845e9acbd kernel/events/core.c  Linus Torvalds            2018-02-11  4867  	__poll_t events = EPOLLHUP;
> c7138f37f905bb kernel/perf_counter.c Peter Zijlstra            2009-03-24  4868  
> e708d7ad807374 kernel/events/core.c  Sebastian Andrzej Siewior 2014-08-04  4869  	poll_wait(file, &event->waitq, wait);
> 179033b3e064d2 kernel/events/core.c  Jiri Olsa                 2014-08-07  4870  
> dc633982ff3f4f kernel/events/core.c  Jiri Olsa                 2014-09-12  4871  	if (is_event_hup(event))
> 179033b3e064d2 kernel/events/core.c  Jiri Olsa                 2014-08-07  4872  		return events;
> c7138f37f905bb kernel/perf_counter.c Peter Zijlstra            2009-03-24  4873  
> 10c6db110d0eb4 kernel/events/core.c  Peter Zijlstra            2011-11-26  4874  	/*
> 9bb5d40cd93c9d kernel/events/core.c  Peter Zijlstra            2013-06-04  4875  	 * Pin the event->rb by taking event->mmap_mutex; otherwise
> 9bb5d40cd93c9d kernel/events/core.c  Peter Zijlstra            2013-06-04  4876  	 * perf_event_set_output() can swizzle our rb and make us miss wakeups.
> 10c6db110d0eb4 kernel/events/core.c  Peter Zijlstra            2011-11-26  4877  	 */
> 10c6db110d0eb4 kernel/events/core.c  Peter Zijlstra            2011-11-26  4878  	mutex_lock(&event->mmap_mutex);
> 9bb5d40cd93c9d kernel/events/core.c  Peter Zijlstra            2013-06-04  4879  	rb = event->rb;
> 9bb5d40cd93c9d kernel/events/core.c  Peter Zijlstra            2013-06-04  4880  	if (rb)
> 76369139ceb955 kernel/events/core.c  Frederic Weisbecker       2011-05-19 @4881  		events = atomic_xchg(&rb->poll, 0);
> 10c6db110d0eb4 kernel/events/core.c  Peter Zijlstra            2011-11-26  4882  	mutex_unlock(&event->mmap_mutex);
> 0793a61d4df8da kernel/perf_counter.c Thomas Gleixner           2008-12-04  4883  	return events;
> 0793a61d4df8da kernel/perf_counter.c Thomas Gleixner           2008-12-04  4884  }
> 0793a61d4df8da kernel/perf_counter.c Thomas Gleixner           2008-12-04  4885  
> 
> :::::: The code at line 4881 was first introduced by commit
> :::::: 76369139ceb955deefc509e6e12ce9d6ce50ccab perf: Split up buffer handling from core code
> 
> :::::: TO: Frederic Weisbecker <fweisbec@gmail.com>
> :::::: CC: Ingo Molnar <mingo@elte.hu>
> 
> -- 
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki

  reply	other threads:[~2023-11-11 14:55 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-11 14:43 kernel/events/core.c:4881:24: sparse: sparse: incorrect type in assignment (different base types) kernel test robot
2023-11-11 14:55 ` Philip Li [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-11-01  7:25 kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZU+V1Ela01RECiwG@rli9-mobl \
    --to=philip.li@intel.com \
    --cc=hch@lst.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkp@intel.com \
    --cc=oe-kbuild-all@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.