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

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/

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:44 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-11 14:43 kernel test robot [this message]
2023-11-11 14:55 ` kernel/events/core.c:4881:24: sparse: sparse: incorrect type in assignment (different base types) Philip Li
  -- 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=202311112205.oMWYlOQe-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=hch@lst.de \
    --cc=linux-kernel@vger.kernel.org \
    --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.