From: jan.glauber@caviumnetworks.com (Jan Glauber)
To: linux-arm-kernel@lists.infradead.org
Subject: Potential deadlock in vgic
Date: Tue, 15 May 2018 13:54:05 +0200 [thread overview]
Message-ID: <20180515115405.GA14459@hc> (raw)
In-Reply-To: <c243af13-a9c3-6808-6937-f1b882ce7a58@arm.com>
On Fri, May 11, 2018 at 03:29:43PM +0100, Andre Przywara wrote:
> Hi Jan,
>
> On 04/05/18 17:31, Jan Glauber wrote:
> > On Fri, May 04, 2018 at 04:17:40PM +0100, Andre Przywara wrote:
> >> Hi Jan,
> >>
> >> can you please test this patch with your setup, to see if it still
> >> screams? That converts two forgotten irq_lock's over to be irqsafe,
> >> plus lets lpi_list_lock join them (which you already did, IIUC).
> >> That should appease lockdep, hopefully.
> >
> > Hit send too soon, on halting the guest I get:
>
> So I managed to finally wrap my head around this one.
> I sent out a series [1], and failed Cc:ing you under the assumption that
> Reported-by: would be picked up by git send-email. Apologies for that,
> but you should be able to pick it from one of the lists.
>
> Can you please confirm that the last two patches fix the splat below for
> you?
Sorry for the late response, I was offline. With all 4 patches applied
both the locking and the RCU warnings are gone.
Thanks for fixing this!
Gr??e,
Jan
> Thanks for testing and reporting!
> Andre.
>
> [1]
> http://lists.infradead.org/pipermail/linux-arm-kernel/2018-May/577054.html
>
> >
> > [ 1025.694857] =============================
> > [ 1025.694862] WARNING: suspicious RCU usage
> > [ 1025.694868] 4.17.0-rc3-jang+ #73 Not tainted
> > [ 1025.694873] -----------------------------
> > [ 1025.694880] ./include/linux/kvm_host.h:575 suspicious rcu_dereference_check() usage!
> > [ 1025.694884]
> > other info that might help us debug this:
> >
> > [ 1025.694890]
> > rcu_scheduler_active = 2, debug_locks = 1
> > [ 1025.694896] 18 locks held by qemu-system-aar/5540:
> > [ 1025.694901] #0: 000000005e03488a (&kvm->lock){+.+.}, at: vgic_its_set_attr+0x230/0x388
> > [ 1025.694937] #1: 000000004b1a3bb5 (&its->its_lock){+.+.}, at: vgic_its_set_attr+0x23c/0x388
> > [ 1025.694965] #2: 000000003ca8213c (&vcpu->mutex){+.+.}, at: lock_all_vcpus+0x64/0xc0
> > [ 1025.694993] #3: 00000000adb6ae51 (&vcpu->mutex){+.+.}, at: lock_all_vcpus+0x64/0xc0
> > [ 1025.695021] #4: 0000000000563df7 (&vcpu->mutex){+.+.}, at: lock_all_vcpus+0x64/0xc0
> > [ 1025.695048] #5: 00000000da16277a (&vcpu->mutex){+.+.}, at: lock_all_vcpus+0x64/0xc0
> > [ 1025.695076] #6: 00000000bf36d9aa (&vcpu->mutex){+.+.}, at: lock_all_vcpus+0x64/0xc0
> > [ 1025.695103] #7: 00000000607eaa4f (&vcpu->mutex){+.+.}, at: lock_all_vcpus+0x64/0xc0
> > [ 1025.695130] #8: 0000000046dadf65 (&vcpu->mutex){+.+.}, at: lock_all_vcpus+0x64/0xc0
> > [ 1025.695157] #9: 00000000197747b2 (&vcpu->mutex){+.+.}, at: lock_all_vcpus+0x64/0xc0
> > [ 1025.695184] #10: 00000000e4f1282c (&vcpu->mutex){+.+.}, at: lock_all_vcpus+0x64/0xc0
> > [ 1025.695211] #11: 000000007471b896 (&vcpu->mutex){+.+.}, at: lock_all_vcpus+0x64/0xc0
> > [ 1025.695239] #12: 000000005be54486 (&vcpu->mutex){+.+.}, at: lock_all_vcpus+0x64/0xc0
> > [ 1025.695266] #13: 000000000f1fa184 (&vcpu->mutex){+.+.}, at: lock_all_vcpus+0x64/0xc0
> > [ 1025.695293] #14: 0000000093fdb28b (&vcpu->mutex){+.+.}, at: lock_all_vcpus+0x64/0xc0
> > [ 1025.695396] #15: 0000000097cc103c (&vcpu->mutex){+.+.}, at: lock_all_vcpus+0x64/0xc0
> > [ 1025.695426] #16: 00000000d24dd32e (&vcpu->mutex){+.+.}, at: lock_all_vcpus+0x64/0xc0
> > [ 1025.695453] #17: 000000002606c3a7 (&vcpu->mutex){+.+.}, at: lock_all_vcpus+0x64/0xc0
> > [ 1025.695482]
> > stack backtrace:
> > [ 1025.695489] CPU: 29 PID: 5540 Comm: qemu-system-aar Not tainted 4.17.0-rc3-jang+ #73
> > [ 1025.695494] Hardware name: To be filled by O.E.M. Saber/To be filled by O.E.M., BIOS 0ACKL018 03/30/2018
> > [ 1025.695499] Call trace:
> > [ 1025.695505] dump_backtrace+0x0/0x160
> > [ 1025.695510] show_stack+0x24/0x30
> > [ 1025.695517] dump_stack+0x9c/0xd4
> > [ 1025.695524] lockdep_rcu_suspicious+0xcc/0x118
> > [ 1025.695537] gfn_to_memslot+0x174/0x190
> > [ 1025.695546] kvm_read_guest+0x50/0xb0
> > [ 1025.695553] vgic_its_check_id.isra.0+0x114/0x148
> > [ 1025.695560] vgic_its_save_tables_v0+0x1a0/0x320
> > [ 1025.695567] vgic_its_set_attr+0x330/0x388
> > [ 1025.695573] kvm_device_ioctl_attr+0x9c/0xd8
> > [ 1025.695579] kvm_device_ioctl+0x8c/0xf8
> > [ 1025.695587] do_vfs_ioctl+0xc4/0x938
> > [ 1025.695594] ksys_ioctl+0x8c/0x98
> > [ 1025.695601] sys_ioctl+0x34/0x48
> > [ 1025.695609] el0_svc_naked+0x44/0x48
> >
> > --Jan
> >
prev parent reply other threads:[~2018-05-15 11:54 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-04 11:03 Potential deadlock in vgic Jan Glauber
2018-05-04 12:47 ` Christoffer Dall
2018-05-04 13:08 ` Jan Glauber
2018-05-04 13:41 ` Marc Zyngier
2018-05-04 14:51 ` Andre Przywara
2018-05-04 15:17 ` Andre Przywara
2018-05-04 16:26 ` Jan Glauber
2018-05-04 16:29 ` Andre Przywara
2018-05-04 16:31 ` Jan Glauber
2018-05-11 14:29 ` Andre Przywara
2018-05-15 11:54 ` Jan Glauber [this message]
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=20180515115405.GA14459@hc \
--to=jan.glauber@caviumnetworks.com \
--cc=linux-arm-kernel@lists.infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).