Hello Joerg Roedel, The patch be1a5408868a: "x86/sev: Split up runtime #VC handler for correct state tracking" from Jun 18, 2021, leads to the following static checker warning: arch/x86/kernel/kvm.c:153 kvm_async_pf_task_wait_schedule() warn: sleeping in atomic context arch/x86/kernel/sev.c 1416 * Handle #DB before calling into !noinstr code to avoid recursive #DB. 1417 */ 1418 if (vc_is_db(error_code)) { 1419 exc_debug(regs); 1420 return; 1421 } 1422 1423 irq_state = irqentry_nmi_enter(regs); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ preempt disabled inside irqentry_nmi_enter(). 1424 1425 instrumentation_begin(); 1426 1427 if (!vc_raw_handle_exception(regs, error_code)) { ^^^^^^^^^^^^^^^^^^^^^^^^ These sleeping in atomic static checker warnings come with a lot of caveats because the call tree is very long and it's easy to have false positives. --> vc_raw_handle_exception() --> vc_forward_exception() --> exc_page_fault() Page faults always sleep right? 1428 /* Show some debug info */ 1429 show_regs(regs); 1430 1431 /* Ask hypervisor to sev_es_terminate */ 1432 sev_es_terminate(GHCB_SEV_ES_REASON_GENERAL_REQUEST); 1433 1434 /* If that fails and we get here - just panic */ 1435 panic("Returned from Terminate-Request to Hypervisor\n"); 1436 } 1437 1438 instrumentation_end(); 1439 irqentry_nmi_exit(regs, irq_state); 1440 } regards, dan carpenter