Re: [PATCH kernel] KVM: PPC: Fix lockdep warning when entering the guest

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Mar 29, 2019 at 04:40:13PM +1100, Alexey Kardashevskiy wrote:
> The trace_hardirqs_on() sets current->hardirqs_enabled and from here
> the lockdep assumes interrupts are enabled although they are remain
> disabled until the context switches to the guest. Consequent
> srcu_read_lock() checks the flags in rcu_lock_acquire(), observes
> disabled interrupts and prints a warning (see below).
> 
> This moves trace_hardirqs_on/off closer to __kvmppc_vcore_entry to
> prevent lockdep from being confused.
> 
> DEBUG_LOCKS_WARN_ON(current->hardirqs_enabled)
> WARNING: CPU: 16 PID: 8038 at kernel/locking/lockdep.c:4128 check_flags.part.25+0x224/0x280
> [...]
> NIP [c000000000185b84] check_flags.part.25+0x224/0x280
> LR [c000000000185b80] check_flags.part.25+0x220/0x280
> Call Trace:
> [c000003fec253710] [c000000000185b80] check_flags.part.25+0x220/0x280 (unreliable)
> [c000003fec253780] [c000000000187ea4] lock_acquire+0x94/0x260
> [c000003fec253840] [c00800001a1e9768] kvmppc_run_core+0xa60/0x1ab0 [kvm_hv]
> [c000003fec253a10] [c00800001a1ed944] kvmppc_vcpu_run_hv+0x73c/0xec0 [kvm_hv]
> [c000003fec253ae0] [c00800001a1095dc] kvmppc_vcpu_run+0x34/0x48 [kvm]
> [c000003fec253b00] [c00800001a1056bc] kvm_arch_vcpu_ioctl_run+0x2f4/0x400 [kvm]
> [c000003fec253b90] [c00800001a0f3618] kvm_vcpu_ioctl+0x460/0x850 [kvm]
> [c000003fec253d00] [c00000000041c4f4] do_vfs_ioctl+0xe4/0x930
> [c000003fec253db0] [c00000000041ce04] ksys_ioctl+0xc4/0x110
> [c000003fec253e00] [c00000000041ce78] sys_ioctl+0x28/0x80
> [c000003fec253e20] [c00000000000b5a4] system_call+0x5c/0x70
> Instruction dump:
> 419e0034 3d220004 39291730 81290000 2f890000 409e0020 3c82ffc6 3c62ffc5
> 3884be70 386329c0 4bf6ea71 60000000 <0fe00000> 3c62ffc6 3863be90 4801273d
> irq event stamp: 1025
> hardirqs last  enabled at (1025): [<c00800001a1e9728>] kvmppc_run_core+0xa20/0x1ab0 [kvm_hv]
> hardirqs last disabled at (1024): [<c00800001a1e9358>] kvmppc_run_core+0x650/0x1ab0 [kvm_hv]
> softirqs last  enabled at (0): [<c0000000000f1210>] copy_process.isra.4.part.5+0x5f0/0x1d00
> softirqs last disabled at (0): [<0000000000000000>]           (null)
> ---[ end trace 31180adcc848993e ]---
> possible reason: unannotated irqs-off.
> irq event stamp: 1025
> hardirqs last  enabled at (1025): [<c00800001a1e9728>] kvmppc_run_core+0xa20/0x1ab0 [kvm_hv]
> hardirqs last disabled at (1024): [<c00800001a1e9358>] kvmppc_run_core+0x650/0x1ab0 [kvm_hv]
> softirqs last  enabled at (0): [<c0000000000f1210>] copy_process.isra.4.part.5+0x5f0/0x1d00
> softirqs last disabled at (0): [<0000000000000000>]           (null)
> 
> Fixes: 8b24e69fc47e ("KVM: PPC: Book3S HV: Close race with testing for signals on guest entry", 2017-06-26)
> Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx>

Thanks, patch applied to my kvm-ppc-next tree.

Paul.



[Index of Archives]     [KVM Development]     [KVM ARM]     [KVM ia64]     [Linux Virtualization]     [Linux USB Devel]     [Linux Video]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux