All of lore.kernel.org
 help / color / mirror / Atom feed
* [android-common:android13-5.10-2026-10 1/1] io_uring/io_uring.c:1634:55: sparse: sparse: incorrect type in argument 3 (different base types)
@ 2026-10-27 19:12 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-10-27 19:12 UTC (permalink / raw)
  To: cros-kernel-buildreports; +Cc: oe-kbuild-all

tree:   https://android.googlesource.com/kernel/common android13-5.10-2026-10
head:   a4c2f82969bc5fa7fcc21ede4b690ece7ff72335
commit: b52fdbc1b3bf870f42ba0f5a280221104b6df0ac [1/1] UPSTREAM: io_uring: pass in EPOLL_URING_WAKE for eventfd signaling and wakeups
config: arm64-randconfig-r2309-20261018 (https://download.01.org/0day-ci/archive/20261027/202610272011.JAFXZrRX-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 11.5.0
sparse: v0.6.5-rc1-1-gc4640450
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20261027/202610272011.JAFXZrRX-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/202610272011.JAFXZrRX-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
>> io_uring/io_uring.c:1634:55: sparse: sparse: incorrect type in argument 3 (different base types) @@     expected unsigned int mask @@     got restricted __poll_t [usertype] @@
   io_uring/io_uring.c:1634:55: sparse:     expected unsigned int mask
   io_uring/io_uring.c:1634:55: sparse:     got restricted __poll_t [usertype]
   io_uring/io_uring.c:1651:55: sparse: sparse: incorrect type in argument 3 (different base types) @@     expected unsigned int mask @@     got restricted __poll_t [usertype] @@
   io_uring/io_uring.c:1651:55: sparse:     expected unsigned int mask
   io_uring/io_uring.c:1651:55: sparse:     got restricted __poll_t [usertype]
   io_uring/io_uring.c:3153:24: sparse: sparse: incorrect type in return expression (different address spaces) @@     expected void [noderef] __user * @@     got struct io_buffer *[assigned] kbuf @@
   io_uring/io_uring.c:3153:24: sparse:     expected void [noderef] __user *
   io_uring/io_uring.c:3153:24: sparse:     got struct io_buffer *[assigned] kbuf
   io_uring/io_uring.c:4551:14: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct file *file @@     got struct file [noderef] __rcu * @@
   io_uring/io_uring.c:4551:14: sparse:     expected struct file *file
   io_uring/io_uring.c:4551:14: sparse:     got struct file [noderef] __rcu *
   io_uring/io_uring.c:5347:37: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] result @@     got restricted __poll_t @@
   io_uring/io_uring.c:5347:37: sparse:     expected unsigned int [usertype] result
   io_uring/io_uring.c:5347:37: sparse:     got restricted __poll_t
   io_uring/io_uring.c:5352:71: sparse: sparse: restricted __poll_t degrades to integer
   io_uring/io_uring.c:5352:65: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected restricted __poll_t [usertype] val @@     got unsigned int @@
   io_uring/io_uring.c:5352:65: sparse:     expected restricted __poll_t [usertype] val
   io_uring/io_uring.c:5352:65: sparse:     got unsigned int
   io_uring/io_uring.c:5352:52: sparse: sparse: incorrect type in initializer (different base types) @@     expected restricted __poll_t [usertype] mask @@     got unsigned short @@
   io_uring/io_uring.c:5352:52: sparse:     expected restricted __poll_t [usertype] mask
   io_uring/io_uring.c:5352:52: sparse:     got unsigned short
   io_uring/io_uring.c:5356:71: sparse: sparse: incorrect type in argument 3 (different base types) @@     expected signed int [usertype] res @@     got restricted __poll_t [usertype] mask @@
   io_uring/io_uring.c:5356:71: sparse:     expected signed int [usertype] res
   io_uring/io_uring.c:5356:71: sparse:     got restricted __poll_t [usertype] mask
   io_uring/io_uring.c:5390:66: sparse: sparse: restricted __poll_t degrades to integer
   io_uring/io_uring.c:5390:55: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected restricted __poll_t [usertype] val @@     got unsigned int @@
   io_uring/io_uring.c:5390:55: sparse:     expected restricted __poll_t [usertype] val
   io_uring/io_uring.c:5390:55: sparse:     got unsigned int
   io_uring/io_uring.c:5493:40: sparse: sparse: incorrect type in argument 2 (different base types) @@     expected int mask @@     got restricted __poll_t [usertype] mask @@
   io_uring/io_uring.c:5493:40: sparse:     expected int mask
   io_uring/io_uring.c:5493:40: sparse:     got restricted __poll_t [usertype] mask
   io_uring/io_uring.c:5577:24: sparse: sparse: incorrect type in return expression (different base types) @@     expected int @@     got restricted __poll_t [assigned] [usertype] mask @@
   io_uring/io_uring.c:5577:24: sparse:     expected int
   io_uring/io_uring.c:5577:24: sparse:     got restricted __poll_t [assigned] [usertype] mask
   io_uring/io_uring.c:5596:40: sparse: sparse: incorrect type in argument 2 (different base types) @@     expected int mask @@     got restricted __poll_t [assigned] [usertype] mask @@
   io_uring/io_uring.c:5596:40: sparse:     expected int mask
   io_uring/io_uring.c:5596:40: sparse:     got restricted __poll_t [assigned] [usertype] mask
   io_uring/io_uring.c:5630:25: sparse: sparse: restricted __poll_t degrades to integer
   io_uring/io_uring.c:5630:48: sparse: sparse: incorrect type in initializer (different base types) @@     expected restricted __poll_t [usertype] mask @@     got unsigned int @@
   io_uring/io_uring.c:5630:48: sparse:     expected restricted __poll_t [usertype] mask
   io_uring/io_uring.c:5630:48: sparse:     got unsigned int
   io_uring/io_uring.c:5641:22: sparse: sparse: invalid assignment: |=
   io_uring/io_uring.c:5641:22: sparse:    left side has type restricted __poll_t
   io_uring/io_uring.c:5641:22: sparse:    right side has type int
   io_uring/io_uring.c:5646:30: sparse: sparse: invalid assignment: &=
   io_uring/io_uring.c:5646:30: sparse:    left side has type restricted __poll_t
   io_uring/io_uring.c:5646:30: sparse:    right side has type int
   io_uring/io_uring.c:5648:22: sparse: sparse: invalid assignment: |=
   io_uring/io_uring.c:5648:22: sparse:    left side has type restricted __poll_t
   io_uring/io_uring.c:5648:22: sparse:    right side has type int
   io_uring/io_uring.c:5664:33: sparse: sparse: incorrect type in argument 5 (different base types) @@     expected int mask @@     got restricted __poll_t [usertype] mask @@
   io_uring/io_uring.c:5664:33: sparse:     expected int mask
   io_uring/io_uring.c:5664:33: sparse:     got restricted __poll_t [usertype] mask
   io_uring/io_uring.c:5664:50: sparse: sparse: incorrect type in argument 6 (different base types) @@     expected int events @@     got restricted __poll_t [usertype] events @@
   io_uring/io_uring.c:5664:50: sparse:     expected int events
   io_uring/io_uring.c:5664:50: sparse:     got restricted __poll_t [usertype] events
   io_uring/io_uring.c:5746:24: sparse: sparse: invalid assignment: |=
   io_uring/io_uring.c:5746:24: sparse:    left side has type unsigned int
   io_uring/io_uring.c:5746:24: sparse:    right side has type restricted __poll_t
   io_uring/io_uring.c:5747:65: sparse: sparse: restricted __poll_t degrades to integer
   io_uring/io_uring.c:5747:29: sparse: sparse: restricted __poll_t degrades to integer
   io_uring/io_uring.c:5747:38: sparse: sparse: incorrect type in return expression (different base types) @@     expected restricted __poll_t @@     got unsigned int @@
   io_uring/io_uring.c:5747:38: sparse:     expected restricted __poll_t
   io_uring/io_uring.c:5747:38: sparse:     got unsigned int
   io_uring/io_uring.c:5836:43: sparse: sparse: invalid assignment: &=
   io_uring/io_uring.c:5836:43: sparse:    left side has type restricted __poll_t
   io_uring/io_uring.c:5836:43: sparse:    right side has type int
   io_uring/io_uring.c:5837:62: sparse: sparse: restricted __poll_t degrades to integer
   io_uring/io_uring.c:5837:43: sparse: sparse: invalid assignment: |=
   io_uring/io_uring.c:5837:43: sparse:    left side has type restricted __poll_t
   io_uring/io_uring.c:5837:43: sparse:    right side has type unsigned int
   io_uring/io_uring.c: note: in included file (through include/linux/irqflags.h, include/linux/spinlock.h, include/linux/wait.h, include/linux/wait_bit.h, ...):
   arch/arm64/include/asm/percpu.h:126:1: sparse: sparse: cast truncates bits from constant value (ffffffff becomes ff)
   arch/arm64/include/asm/percpu.h:126:1: sparse: sparse: cast truncates bits from constant value (ffffffff becomes ffff)
   arch/arm64/include/asm/percpu.h:126:1: sparse: sparse: cast truncates bits from constant value (ffffffff becomes ff)
   arch/arm64/include/asm/percpu.h:126:1: sparse: sparse: cast truncates bits from constant value (ffffffff becomes ffff)
   io_uring/io_uring.c:7824:9: sparse: sparse: context imbalance in 'io_sq_thread_unpark' - wrong count at exit
   io_uring/io_uring.c:7835:9: sparse: sparse: context imbalance in 'io_sq_thread_park' - wrong count at exit

vim +1634 io_uring/io_uring.c

  1613	
  1614	/*
  1615	 * This should only get called when at least one event has been posted.
  1616	 * Some applications rely on the eventfd notification count only changing
  1617	 * IFF a new CQE has been added to the CQ ring. There's no depedency on
  1618	 * 1:1 relationship between how many times this function is called (and
  1619	 * hence the eventfd count) and number of CQEs posted to the CQ ring.
  1620	 */
  1621	static void io_cqring_ev_posted(struct io_ring_ctx *ctx)
  1622	{
  1623		/*
  1624		 * wake_up_all() may seem excessive, but io_wake_function() and
  1625		 * io_should_wake() handle the termination of the loop and only
  1626		 * wake as many waiters as we need to.
  1627		 */
  1628		if (wq_has_sleeper(&ctx->cq_wait))
  1629			__wake_up(&ctx->cq_wait, TASK_NORMAL, 0,
  1630					poll_to_key(EPOLL_URING_WAKE | EPOLLIN));
  1631		if (ctx->sq_data && waitqueue_active(&ctx->sq_data->wait))
  1632			wake_up(&ctx->sq_data->wait);
  1633		if (io_should_trigger_evfd(ctx))
> 1634			eventfd_signal_mask(ctx->cq_ev_fd, 1, EPOLL_URING_WAKE);
  1635		if (waitqueue_active(&ctx->poll_wait))
  1636			__wake_up(&ctx->poll_wait, TASK_INTERRUPTIBLE, 0,
  1637					poll_to_key(EPOLL_URING_WAKE | EPOLLIN));
  1638	}
  1639	

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-10-27 19:12 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-27 19:12 [android-common:android13-5.10-2026-10 1/1] io_uring/io_uring.c:1634:55: sparse: sparse: incorrect type in argument 3 (different base types) kernel test robot

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.