mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* arch/arm64/kvm/vgic/vgic.c:476 kvm_vgic_inject_irq() warn: inconsistent returns '&irq->irq_lock'.
@ 2021-03-12 22:46 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-03-12 22:46 UTC (permalink / raw)
  To: Marc Zyngier; +Cc: kbuild-all, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 7612 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   f78d76e72a4671ea52d12752d92077788b4f5d50
commit: 9ed24f4b712b855dcf7be3025b75b051cb73a2b7 KVM: arm64: Move virt/kvm/arm to arch/arm64
date:   10 months ago
config: arm64-randconfig-m031-20210312 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

smatch warnings:
arch/arm64/kvm/vgic/vgic.c:476 kvm_vgic_inject_irq() warn: inconsistent returns '&irq->irq_lock'.
arch/arm64/kvm/vgic/vgic.c:476 kvm_vgic_inject_irq() warn: inconsistent returns 'flags'.
arch/arm64/kvm/vgic/vgic-v3.c:394 vgic_v3_save_pending_tables() error: uninitialized symbol 'val'.
arch/arm64/kvm/vgic/vgic-its.c:311 update_lpi_config() warn: inconsistent returns '&irq->irq_lock'.
arch/arm64/kvm/vgic/vgic-its.c:311 update_lpi_config() warn: inconsistent returns 'flags'.
arch/arm64/kvm/vgic/vgic-its.c:466 its_sync_lpi_pending_table() error: uninitialized symbol 'pendmask'.

vim +476 arch/arm64/kvm/vgic/vgic.c

81eeb95ddbabbb virt/kvm/arm/vgic/vgic.c Christoffer Dall 2015-11-25  419  
11710dec8a4508 virt/kvm/arm/vgic/vgic.c Christoffer Dall 2017-02-01  420  /**
11710dec8a4508 virt/kvm/arm/vgic/vgic.c Christoffer Dall 2017-02-01  421   * kvm_vgic_inject_irq - Inject an IRQ from a device to the vgic
11710dec8a4508 virt/kvm/arm/vgic/vgic.c Christoffer Dall 2017-02-01  422   * @kvm:     The VM structure pointer
11710dec8a4508 virt/kvm/arm/vgic/vgic.c Christoffer Dall 2017-02-01  423   * @cpuid:   The CPU for PPIs
11710dec8a4508 virt/kvm/arm/vgic/vgic.c Christoffer Dall 2017-02-01  424   * @intid:   The INTID to inject a new state to.
11710dec8a4508 virt/kvm/arm/vgic/vgic.c Christoffer Dall 2017-02-01  425   * @level:   Edge-triggered:  true:  to trigger the interrupt
11710dec8a4508 virt/kvm/arm/vgic/vgic.c Christoffer Dall 2017-02-01  426   *			      false: to ignore the call
11710dec8a4508 virt/kvm/arm/vgic/vgic.c Christoffer Dall 2017-02-01  427   *	     Level-sensitive  true:  raise the input signal
11710dec8a4508 virt/kvm/arm/vgic/vgic.c Christoffer Dall 2017-02-01  428   *			      false: lower the input signal
cb3f0ad881a6ce virt/kvm/arm/vgic/vgic.c Christoffer Dall 2017-05-16  429   * @owner:   The opaque pointer to the owner of the IRQ being raised to verify
cb3f0ad881a6ce virt/kvm/arm/vgic/vgic.c Christoffer Dall 2017-05-16  430   *           that the caller is allowed to inject this IRQ.  Userspace
cb3f0ad881a6ce virt/kvm/arm/vgic/vgic.c Christoffer Dall 2017-05-16  431   *           injections will have owner == NULL.
11710dec8a4508 virt/kvm/arm/vgic/vgic.c Christoffer Dall 2017-02-01  432   *
11710dec8a4508 virt/kvm/arm/vgic/vgic.c Christoffer Dall 2017-02-01  433   * The VGIC is not concerned with devices being active-LOW or active-HIGH for
11710dec8a4508 virt/kvm/arm/vgic/vgic.c Christoffer Dall 2017-02-01  434   * level-sensitive interrupts.  You can think of the level parameter as 1
11710dec8a4508 virt/kvm/arm/vgic/vgic.c Christoffer Dall 2017-02-01  435   * being HIGH and 0 being LOW and all devices being active-HIGH.
11710dec8a4508 virt/kvm/arm/vgic/vgic.c Christoffer Dall 2017-02-01  436   */
11710dec8a4508 virt/kvm/arm/vgic/vgic.c Christoffer Dall 2017-02-01  437  int kvm_vgic_inject_irq(struct kvm *kvm, int cpuid, unsigned int intid,
cb3f0ad881a6ce virt/kvm/arm/vgic/vgic.c Christoffer Dall 2017-05-16  438  			bool level, void *owner)
81eeb95ddbabbb virt/kvm/arm/vgic/vgic.c Christoffer Dall 2015-11-25  439  {
81eeb95ddbabbb virt/kvm/arm/vgic/vgic.c Christoffer Dall 2015-11-25  440  	struct kvm_vcpu *vcpu;
81eeb95ddbabbb virt/kvm/arm/vgic/vgic.c Christoffer Dall 2015-11-25  441  	struct vgic_irq *irq;
006df0f34930e1 virt/kvm/arm/vgic/vgic.c Christoffer Dall 2016-10-16  442  	unsigned long flags;
81eeb95ddbabbb virt/kvm/arm/vgic/vgic.c Christoffer Dall 2015-11-25  443  	int ret;
81eeb95ddbabbb virt/kvm/arm/vgic/vgic.c Christoffer Dall 2015-11-25  444  
81eeb95ddbabbb virt/kvm/arm/vgic/vgic.c Christoffer Dall 2015-11-25  445  	trace_vgic_update_irq_pending(cpuid, intid, level);
81eeb95ddbabbb virt/kvm/arm/vgic/vgic.c Christoffer Dall 2015-11-25  446  
ad275b8bb1e659 virt/kvm/arm/vgic/vgic.c Eric Auger       2015-12-21  447  	ret = vgic_lazy_init(kvm);
ad275b8bb1e659 virt/kvm/arm/vgic/vgic.c Eric Auger       2015-12-21  448  	if (ret)
ad275b8bb1e659 virt/kvm/arm/vgic/vgic.c Eric Auger       2015-12-21  449  		return ret;
ad275b8bb1e659 virt/kvm/arm/vgic/vgic.c Eric Auger       2015-12-21  450  
81eeb95ddbabbb virt/kvm/arm/vgic/vgic.c Christoffer Dall 2015-11-25  451  	vcpu = kvm_get_vcpu(kvm, cpuid);
81eeb95ddbabbb virt/kvm/arm/vgic/vgic.c Christoffer Dall 2015-11-25  452  	if (!vcpu && intid < VGIC_NR_PRIVATE_IRQS)
81eeb95ddbabbb virt/kvm/arm/vgic/vgic.c Christoffer Dall 2015-11-25  453  		return -EINVAL;
81eeb95ddbabbb virt/kvm/arm/vgic/vgic.c Christoffer Dall 2015-11-25  454  
81eeb95ddbabbb virt/kvm/arm/vgic/vgic.c Christoffer Dall 2015-11-25  455  	irq = vgic_get_irq(kvm, vcpu, intid);
81eeb95ddbabbb virt/kvm/arm/vgic/vgic.c Christoffer Dall 2015-11-25  456  	if (!irq)
81eeb95ddbabbb virt/kvm/arm/vgic/vgic.c Christoffer Dall 2015-11-25  457  		return -EINVAL;
81eeb95ddbabbb virt/kvm/arm/vgic/vgic.c Christoffer Dall 2015-11-25  458  
8fa3adb8c6beee virt/kvm/arm/vgic/vgic.c Julien Thierry   2019-01-07  459  	raw_spin_lock_irqsave(&irq->irq_lock, flags);
81eeb95ddbabbb virt/kvm/arm/vgic/vgic.c Christoffer Dall 2015-11-25  460  
cb3f0ad881a6ce virt/kvm/arm/vgic/vgic.c Christoffer Dall 2017-05-16  461  	if (!vgic_validate_injection(irq, level, owner)) {
81eeb95ddbabbb virt/kvm/arm/vgic/vgic.c Christoffer Dall 2015-11-25  462  		/* Nothing to see here, move along... */
8fa3adb8c6beee virt/kvm/arm/vgic/vgic.c Julien Thierry   2019-01-07  463  		raw_spin_unlock_irqrestore(&irq->irq_lock, flags);
5dd4b924e390af virt/kvm/arm/vgic/vgic.c Andre Przywara   2016-07-15  464  		vgic_put_irq(kvm, irq);
81eeb95ddbabbb virt/kvm/arm/vgic/vgic.c Christoffer Dall 2015-11-25  465  		return 0;
81eeb95ddbabbb virt/kvm/arm/vgic/vgic.c Christoffer Dall 2015-11-25  466  	}
81eeb95ddbabbb virt/kvm/arm/vgic/vgic.c Christoffer Dall 2015-11-25  467  
8694e4da66a636 virt/kvm/arm/vgic/vgic.c Christoffer Dall 2017-01-23  468  	if (irq->config == VGIC_CONFIG_LEVEL)
81eeb95ddbabbb virt/kvm/arm/vgic/vgic.c Christoffer Dall 2015-11-25  469  		irq->line_level = level;
8694e4da66a636 virt/kvm/arm/vgic/vgic.c Christoffer Dall 2017-01-23  470  	else
8694e4da66a636 virt/kvm/arm/vgic/vgic.c Christoffer Dall 2017-01-23  471  		irq->pending_latch = true;
81eeb95ddbabbb virt/kvm/arm/vgic/vgic.c Christoffer Dall 2015-11-25  472  
006df0f34930e1 virt/kvm/arm/vgic/vgic.c Christoffer Dall 2016-10-16  473  	vgic_queue_irq_unlock(kvm, irq, flags);
5dd4b924e390af virt/kvm/arm/vgic/vgic.c Andre Przywara   2016-07-15  474  	vgic_put_irq(kvm, irq);
81eeb95ddbabbb virt/kvm/arm/vgic/vgic.c Christoffer Dall 2015-11-25  475  
81eeb95ddbabbb virt/kvm/arm/vgic/vgic.c Christoffer Dall 2015-11-25 @476  	return 0;
81eeb95ddbabbb virt/kvm/arm/vgic/vgic.c Christoffer Dall 2015-11-25  477  }
81eeb95ddbabbb virt/kvm/arm/vgic/vgic.c Christoffer Dall 2015-11-25  478  

:::::: The code at line 476 was first introduced by commit
:::::: 81eeb95ddbabbb998a6b39f762bc7edaa2a979b4 KVM: arm/arm64: vgic-new: Implement virtual IRQ injection

:::::: TO: Christoffer Dall <christoffer.dall@linaro.org>
:::::: CC: Christoffer Dall <christoffer.dall@linaro.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 29417 bytes --]

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

only message in thread, other threads:[~2021-03-12 22:48 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-12 22:46 arch/arm64/kvm/vgic/vgic.c:476 kvm_vgic_inject_irq() warn: inconsistent returns '&irq->irq_lock' kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®