From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [kvm:queue 40/54] arch/x86/kvm/../../../virt/kvm/eventfd.c:198:23: error: passing argument 1 of 'eventfd_ctx_do_read' from incompatible pointer type
Date: Sun, 15 Nov 2020 13:14:43 +0800 [thread overview]
Message-ID: <202011151341.2stsjDsg-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 4002 bytes --]
tree: https://git.kernel.org/pub/scm/virt/kvm/kvm.git queue
head: 3539292abae0518a1d5bee996174d88014865134
commit: 43814676588fa6f849e6ad0ddb4195c8b9fc6030 [40/54] kvm/eventfd: Drain events from eventfd in irqfd_wakeup()
config: x86_64-allyesconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/virt/kvm/kvm.git/commit/?id=43814676588fa6f849e6ad0ddb4195c8b9fc6030
git remote add kvm https://git.kernel.org/pub/scm/virt/kvm/kvm.git
git fetch --no-tags kvm queue
git checkout 43814676588fa6f849e6ad0ddb4195c8b9fc6030
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
arch/x86/kvm/../../../virt/kvm/eventfd.c: In function 'irqfd_wakeup':
>> arch/x86/kvm/../../../virt/kvm/eventfd.c:198:23: error: passing argument 1 of 'eventfd_ctx_do_read' from incompatible pointer type [-Werror=incompatible-pointer-types]
198 | eventfd_ctx_do_read(&irqfd->eventfd, &cnt);
| ^~~~~~~~~~~~~~~
| |
| struct eventfd_ctx **
In file included from arch/x86/kvm/../../../virt/kvm/eventfd.c:21:
include/linux/eventfd.h:44:46: note: expected 'struct eventfd_ctx *' but argument is of type 'struct eventfd_ctx **'
44 | void eventfd_ctx_do_read(struct eventfd_ctx *ctx, __u64 *cnt);
| ~~~~~~~~~~~~~~~~~~~~^~~
cc1: some warnings being treated as errors
vim +/eventfd_ctx_do_read +198 arch/x86/kvm/../../../virt/kvm/eventfd.c
180
181 /*
182 * Called with wqh->lock held and interrupts disabled
183 */
184 static int
185 irqfd_wakeup(wait_queue_entry_t *wait, unsigned mode, int sync, void *key)
186 {
187 struct kvm_kernel_irqfd *irqfd =
188 container_of(wait, struct kvm_kernel_irqfd, wait);
189 __poll_t flags = key_to_poll(key);
190 struct kvm_kernel_irq_routing_entry irq;
191 struct kvm *kvm = irqfd->kvm;
192 unsigned seq;
193 int idx;
194 int ret = 0;
195
196 if (flags & EPOLLIN) {
197 u64 cnt;
> 198 eventfd_ctx_do_read(&irqfd->eventfd, &cnt);
199
200 idx = srcu_read_lock(&kvm->irq_srcu);
201 do {
202 seq = read_seqcount_begin(&irqfd->irq_entry_sc);
203 irq = irqfd->irq_entry;
204 } while (read_seqcount_retry(&irqfd->irq_entry_sc, seq));
205 /* An event has been signaled, inject an interrupt */
206 if (kvm_arch_set_irq_inatomic(&irq, kvm,
207 KVM_USERSPACE_IRQ_SOURCE_ID, 1,
208 false) == -EWOULDBLOCK)
209 schedule_work(&irqfd->inject);
210 srcu_read_unlock(&kvm->irq_srcu, idx);
211 ret = 1;
212 }
213
214 if (flags & EPOLLHUP) {
215 /* The eventfd is closing, detach from KVM */
216 unsigned long iflags;
217
218 spin_lock_irqsave(&kvm->irqfds.lock, iflags);
219
220 /*
221 * We must check if someone deactivated the irqfd before
222 * we could acquire the irqfds.lock since the item is
223 * deactivated from the KVM side before it is unhooked from
224 * the wait-queue. If it is already deactivated, we can
225 * simply return knowing the other side will cleanup for us.
226 * We cannot race against the irqfd going away since the
227 * other side is required to acquire wqh->lock, which we hold
228 */
229 if (irqfd_is_active(irqfd))
230 irqfd_deactivate(irqfd);
231
232 spin_unlock_irqrestore(&kvm->irqfds.lock, iflags);
233 }
234
235 return ret;
236 }
237
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 77095 bytes --]
next reply other threads:[~2020-11-15 5:14 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-15 5:14 kernel test robot [this message]
2020-11-15 8:50 ` [kvm:queue 40/54] arch/x86/kvm/../../../virt/kvm/eventfd.c:198:23: error: passing argument 1 of 'eventfd_ctx_do_read' from incompatible pointer type Woodhouse, David
2020-11-15 8:50 ` Woodhouse, David
2020-11-15 14:29 ` Paolo Bonzini
2020-11-15 14:29 ` Paolo Bonzini
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=202011151341.2stsjDsg-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
/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.