public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Maxim Levitsky <mlevitsk@redhat.com>
To: "kvm@vger.kernel.org" <kvm@vger.kernel.org>
Cc: David Woodhouse <dwmw2@infradead.org>
Subject: kvm_gfn_to_pfn_cache_refresh started getting a warning recently
Date: Tue, 26 Apr 2022 18:33:12 +0300	[thread overview]
Message-ID: <e415e20f899407fb24dfb8ecbc1940c5cb14a302.camel@redhat.com> (raw)

[  390.511995] BUG: sleeping function called from invalid context at include/linux/highmem-internal.h:161
[  390.513681] in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 4439, name: CPU 0/KVM
[  390.515045] preempt_count: 1, expected: 0
[  390.515733] INFO: lockdep is turned off.
[  390.516405] irq event stamp: 0
[  390.516928] hardirqs last  enabled at (0): [<0000000000000000>] 0x0
[  390.517989] hardirqs last disabled at (0): [<ffffffff811339cb>] copy_process+0x94b/0x1ec0
[  390.519370] softirqs last  enabled at (0): [<ffffffff811339cb>] copy_process+0x94b/0x1ec0
[  390.520767] softirqs last disabled at (0): [<0000000000000000>] 0x0
[  390.521827] CPU: 4 PID: 4439 Comm: CPU 0/KVM Tainted: G        W  O      5.18.0-rc4.unstable #5
[  390.523284] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015
[  390.524596] Call Trace:
[  390.525021]  <TASK>
[  390.525393]  dump_stack_lvl+0x49/0x5e
[  390.526022]  dump_stack+0x10/0x12
[  390.526597]  __might_resched.cold+0xc7/0xd8
[  390.527316]  __might_sleep+0x43/0x70
[  390.527929]  kvm_gfn_to_pfn_cache_refresh+0x404/0x5a0 [kvm]
[  390.528975]  kvm_gfn_to_pfn_cache_init+0x4b/0x120 [kvm]
[  390.529919]  kvm_write_system_time+0x4a/0x80 [kvm]
[  390.530798]  kvm_set_msr_common+0x73c/0xeb0 [kvm]
[  390.531657]  ? lock_acquire+0x174/0x2b0
[  390.532318]  ? rcu_read_lock_sched_held+0x16/0x80
[  390.533125]  svm_set_msr+0x29c/0x7b0 [kvm_amd]
[  390.533885]  __kvm_set_msr+0x7f/0x1c0 [kvm]
[  390.534659]  ? kvm_msr_allowed+0x119/0x180 [kvm]
[  390.535505]  kvm_emulate_wrmsr+0x54/0x2a0 [kvm]
[  390.536337]  msr_interception+0x1c/0x30 [kvm_amd]
[  390.537157]  svm_invoke_exit_handler+0x9d/0xe0 [kvm_amd]
[  390.538064]  svm_handle_exit+0xe7/0x320 [kvm_amd]
[  390.538871]  kvm_arch_vcpu_ioctl_run+0xf6e/0x1d00 [kvm]
[  390.539822]  ? __mutex_unlock_slowpath+0x4a/0x2e0
[  390.540625]  ? rcu_read_lock_sched_held+0x16/0x80
[  390.541430]  kvm_vcpu_ioctl+0x289/0x750 [kvm]
[  390.542228]  ? kvm_vcpu_ioctl+0x289/0x750 [kvm]
[  390.543050]  ? lock_release+0x1c4/0x270
[  390.543711]  ? __fget_files+0xe1/0x1a0
[  390.544358]  ? do_futex+0xa6/0x150
[  390.544971]  __x64_sys_ioctl+0x8e/0xc0
[  390.545625]  do_syscall_64+0x36/0x80
[  390.546243]  entry_SYSCALL_64_after_hwframe+0x44/0xae
[  390.547106] RIP: 0033:0x7f6b4e6dc0ab
[  390.547722] Code: ff ff ff 85 c0 79 9b 49 c7 c4 ff ff ff ff 5b 5d 4c 89 e0 41 5c c3 66 0f 1f 84 00 00 00 00 00 f3 0f 1e fa b8 10 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 9d bd 0c 00 f7
d8 64 89 01 48
[  390.550852] RSP: 002b:00007f6b4997e5c8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
[  390.552133] RAX: ffffffffffffffda RBX: 000055860718d700 RCX: 00007f6b4e6dc0ab
[  390.553334] RDX: 0000000000000000 RSI: 000000000000ae80 RDI: 000000000000000c
[  390.554536] RBP: 00007f6b4997e6c0 R08: 0000558604ea4e60 R09: 00000000000000ff
[  390.555727] R10: 00005586049fdc1a R11: 0000000000000246 R12: 00007ffd90ecd33e
[  390.556931] R13: 00007ffd90ecd33f R14: 0000000000000000 R15: 00007f6b49980640
[  390.558138]  </TASK>

Decoded trace:

[  390.525393] dump_stack_lvl+0x49/0x5e 
[  390.526022] dump_stack+0x10/0x12 
[  390.526597] __might_resched.cold+0xc7/0xd8 
[  390.527316] __might_sleep+0x43/0x70 
[  390.527929] kvm_gfn_to_pfn_cache_refresh (/home/mlevitsk/Kernel/br-vm-64/src/./include/linux/highmem-internal.h:161 /home/mlevitsk/Kernel/br-vm-64/src/arch/x86/kvm/../../../virt/kvm/pfncache.c:240) 
kvm
[  390.528975] kvm_gfn_to_pfn_cache_init (/home/mlevitsk/Kernel/br-vm-64/src/arch/x86/kvm/../../../virt/kvm/pfncache.c:328) kvm
[  390.529919] kvm_write_system_time (/home/mlevitsk/Kernel/br-vm-64/src/arch/x86/kvm/x86.c:2292) kvm
[  390.530798] kvm_set_msr_common (/home/mlevitsk/Kernel/br-vm-64/src/arch/x86/kvm/x86.c:3627) kvm
[  390.531657] ? lock_acquire+0x174/0x2b0 
[  390.532318] ? rcu_read_lock_sched_held+0x16/0x80 
[  390.533125] svm_set_msr (/home/mlevitsk/Kernel/br-vm-64/src/arch/x86/kvm/svm/svm.c:2986) kvm_amd
[  390.533885] __kvm_set_msr (/home/mlevitsk/Kernel/br-vm-64/src/arch/x86/kvm/x86.c:1837) kvm
[  390.534659] ? kvm_msr_allowed (/home/mlevitsk/Kernel/br-vm-64/src/./include/linux/srcu.h:191 /home/mlevitsk/Kernel/br-vm-64/src/arch/x86/kvm/x86.c:1765) kvm
[  390.535505] kvm_emulate_wrmsr (/home/mlevitsk/Kernel/br-vm-64/src/arch/x86/kvm/x86.c:1842 /home/mlevitsk/Kernel/br-vm-64/src/arch/x86/kvm/x86.c:1910 /home/mlevitsk/Kernel/br-vm-
64/src/arch/x86/kvm/x86.c:2020) kvm
[  390.536337] msr_interception (/home/mlevitsk/Kernel/br-vm-64/src/arch/x86/kvm/svm/svm.c:2997) kvm_amd
[  390.537157] svm_invoke_exit_handler (/home/mlevitsk/Kernel/br-vm-64/src/arch/x86/kvm/svm/svm.c:3293) kvm_amd
[  390.538064] svm_handle_exit (/home/mlevitsk/Kernel/br-vm-64/src/arch/x86/kvm/svm/svm.c:3364) kvm_amd
[  390.538871] kvm_arch_vcpu_ioctl_run (/home/mlevitsk/Kernel/br-vm-64/src/arch/x86/kvm/x86.c:10433 /home/mlevitsk/Kernel/br-vm-64/src/arch/x86/kvm/x86.c:10632) kvm
[  390.539822] ? __mutex_unlock_slowpath+0x4a/0x2e0 
[  390.540625] ? rcu_read_lock_sched_held+0x16/0x80 
[  390.541430] kvm_vcpu_ioctl (/home/mlevitsk/Kernel/br-vm-64/src/arch/x86/kvm/../../../virt/kvm/kvm_main.c:3952) kvm
[  390.542228] ? kvm_vcpu_ioctl (/home/mlevitsk/Kernel/br-vm-64/src/arch/x86/kvm/../../../virt/kvm/kvm_main.c:3952) kvm
[  390.543050] ? lock_release+0x1c4/0x270 
[  390.543711] ? __fget_files+0xe1/0x1a0 
[  390.544358] ? do_futex+0xa6/0x150 
[  390.544971] __x64_sys_ioctl+0x8e/0xc0 
[  390.545625] do_syscall_64+0x36/0x80 
[  390.546243] entry_SYSCALL_64_after_hwframe+0x44/0xae 
[  390.547106] RIP: 0033:0x7f6b4e6dc0ab
[ 390.547722] Code: ff ff ff 85 c0 79 9b 49 c7 c4 ff ff ff ff 5b 5d 4c 89 e0 41 5c c3 66 0f 1f 84 00 00 00 00 00 f3 0f 1e fa b8 10 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 9d bd 0c 00 f7 d


This points to 'new_khva = kmap(pfn_to_page(new_pfn));'

kmap can indeed sleep but we hold a spinlock.

Best regards,
	Maxim Levitsky



             reply	other threads:[~2022-04-26 15:33 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-26 15:33 Maxim Levitsky [this message]
2022-04-26 16:45 ` kvm_gfn_to_pfn_cache_refresh started getting a warning recently Sean Christopherson
2022-04-26 16:56   ` Maxim Levitsky
2022-04-26 17:11   ` Paolo Bonzini
2022-04-26 17:34     ` Sean Christopherson
2022-04-26 18:15       ` Sean Christopherson
2022-04-27 12:22         ` 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=e415e20f899407fb24dfb8ecbc1940c5cb14a302.camel@redhat.com \
    --to=mlevitsk@redhat.com \
    --cc=dwmw2@infradead.org \
    --cc=kvm@vger.kernel.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