US 12,436,790 B2
Scalable asynchronous communication for encrypted virtual machines
Michael Tsirkin, Yokneam Illit (IL); and Karen Noel, Pembroke, NH (US)
Assigned to Red Hat, Inc., Raleigh, NC (US)
Filed by Red Hat, Inc., Raleigh, NC (US)
Filed on Apr. 22, 2022, as Appl. No. 17/727,187.
Prior Publication US 2023/0342172 A1, Oct. 26, 2023
Int. Cl. G06F 9/455 (2018.01); G06F 12/14 (2006.01)
CPC G06F 9/45558 (2013.01) [G06F 9/45545 (2013.01); G06F 12/1408 (2013.01); G06F 12/145 (2013.01); G06F 2009/45583 (2013.01); G06F 2009/45587 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
identifying, by a hypervisor running on a host computer system, an encrypted guest memory location of a memory of a virtual machine (VM), the encrypted guest memory location associated with a virtual device;
copying, by the hypervisor, a first set of encrypted data from the encrypted guest memory location to a hypervisor memory that is separate from the memory of the VM to create a copied set of encrypted data in the hypervisor memory;
placing, by a guest operating system of the VM, a request for communication with the virtual device in the encrypted guest memory location to produce a second set of encrypted data at the encrypted guest memory location;
comparing, by the hypervisor, the second set of encrypted data from the encrypted guest memory location with the copied set of encrypted data in the hypervisor memory; and
responsive to detecting a difference between the second set of encrypted data and the copied set of encrypted data, requesting, by the hypervisor, unencrypted data comprising the request for communication with the virtual device by the guest operating system, the unencrypted data comprising a decrypted version of the second set of encrypted data.