Re: [BUG] Deadlock due due to interactions of block, RCU, and cpu offline

From: Paolo Bonzini
Date: Tue Aug 22 2017 - 12:12:38 EST


On 20/08/2017 22:56, Paul E. McKenney wrote:
>> KVM: async_pf: avoid async pf injection when in guest mode
>> KVM: cpuid: Fix read/write out-of-bounds vulnerability in cpuid emulation
>> arm: KVM: Allow unaligned accesses at HYP
>> arm64: KVM: Allow unaligned accesses at EL2
>> arm64: KVM: Preserve RES1 bits in SCTLR_EL2
>> KVM: arm/arm64: Handle possible NULL stage2 pud when ageing pages
>> KVM: nVMX: Fix exception injection
>> kvm: async_pf: fix rcu_irq_enter() with irqs enabled
>> KVM: arm/arm64: vgic-v3: Fix nr_pre_bits bitfield extraction
>> KVM: s390: fix ais handling vs cpu model
>> KVM: arm/arm64: Fix isues with GICv2 on GICv3 migration
>>
>> Nothing really stands out to me which would "fix" the issue.
>
> My guess would be an undo of the change that provoked the problem
> in the first place. Did you try bisecting within the above group
> of commits?
>
> Either way, CCing Paolo for his thoughts?

There is "kvm: async_pf: fix rcu_irq_enter() with irqs enabled", but it
would have caused splats, not deadlocks.

If you are using nested virtualization, "KVM: async_pf: avoid async pf
injection when in guest mode" can be a wildcard, but only if you have
memory pressure.

My bet is still on the former changing the timing just a little bit.

Paolo