From: kernel test robot <lkp@intel.com>
To: Jens Axboe <axboe@kernel.dk>
Cc: oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org
Subject: fs/eventpoll.c:526:9: sparse: sparse: restricted __poll_t degrades to integer
Date: Wed, 1 Nov 2023 06:20:07 +0800 [thread overview]
Message-ID: <202311010654.LEo7oBW4-lkp@intel.com> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 5a6a09e97199d6600d31383055f9d43fbbcbe86f
commit: caf1aeaffc3b09649a56769e559333ae2c4f1802 eventpoll: add EPOLL_URING_WAKE poll wakeup flag
date: 11 months ago
config: x86_64-randconfig-r031-20230909 (https://download.01.org/0day-ci/archive/20231101/202311010654.LEo7oBW4-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/20231101/202311010654.LEo7oBW4-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/202311010654.LEo7oBW4-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> fs/eventpoll.c:526:9: sparse: sparse: restricted __poll_t degrades to integer
>> fs/eventpoll.c:526:9: sparse: sparse: cast to restricted __poll_t
>> fs/eventpoll.c:1213:53: sparse: sparse: incorrect type in argument 3 (different base types) @@ expected unsigned int pollflags @@ got restricted __poll_t @@
fs/eventpoll.c:1213:53: sparse: expected unsigned int pollflags
fs/eventpoll.c:1213:53: sparse: got restricted __poll_t
vim +526 fs/eventpoll.c
493
494 static void ep_poll_safewake(struct eventpoll *ep, struct epitem *epi,
495 unsigned pollflags)
496 {
497 struct eventpoll *ep_src;
498 unsigned long flags;
499 u8 nests = 0;
500
501 /*
502 * To set the subclass or nesting level for spin_lock_irqsave_nested()
503 * it might be natural to create a per-cpu nest count. However, since
504 * we can recurse on ep->poll_wait.lock, and a non-raw spinlock can
505 * schedule() in the -rt kernel, the per-cpu variable are no longer
506 * protected. Thus, we are introducing a per eventpoll nest field.
507 * If we are not being call from ep_poll_callback(), epi is NULL and
508 * we are at the first level of nesting, 0. Otherwise, we are being
509 * called from ep_poll_callback() and if a previous wakeup source is
510 * not an epoll file itself, we are at depth 1 since the wakeup source
511 * is depth 0. If the wakeup source is a previous epoll file in the
512 * wakeup chain then we use its nests value and record ours as
513 * nests + 1. The previous epoll file nests value is stable since its
514 * already holding its own poll_wait.lock.
515 */
516 if (epi) {
517 if ((is_file_epoll(epi->ffd.file))) {
518 ep_src = epi->ffd.file->private_data;
519 nests = ep_src->nests;
520 } else {
521 nests = 1;
522 }
523 }
524 spin_lock_irqsave_nested(&ep->poll_wait.lock, flags, nests);
525 ep->nests = nests + 1;
> 526 wake_up_locked_poll(&ep->poll_wait, EPOLLIN | pollflags);
527 ep->nests = 0;
528 spin_unlock_irqrestore(&ep->poll_wait.lock, flags);
529 }
530
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next reply other threads:[~2023-10-31 22:20 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-31 22:20 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-01-09 4:45 fs/eventpoll.c:526:9: sparse: sparse: restricted __poll_t degrades to integer kernel test robot
2024-01-06 20:19 kernel test robot
2023-10-28 19:53 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=202311010654.LEo7oBW4-lkp@intel.com \
--to=lkp@intel.com \
--cc=axboe@kernel.dk \
--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.