From patchwork Fri Jun 16 13:43:38 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Adalbert_Laz=C4=83r?= X-Patchwork-Id: 9791667 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id D365060325 for ; Fri, 16 Jun 2017 13:43:27 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CE1742861D for ; Fri, 16 Jun 2017 13:43:27 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id B92F728646; Fri, 16 Jun 2017 13:43:27 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 782D32861D for ; Fri, 16 Jun 2017 13:43:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753874AbdFPNn0 (ORCPT ); Fri, 16 Jun 2017 09:43:26 -0400 Received: from mx02.bbu.dsd.mx.bitdefender.com ([91.199.104.133]:49056 "EHLO mx02.buh.bitdefender.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753715AbdFPNnW (ORCPT ); Fri, 16 Jun 2017 09:43:22 -0400 Comment: DomainKeys? See http://domainkeys.sourceforge.net/ DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=bitdefender.com; b=dQiz4zlHbylG5D/EYZ29otB6Rp+R2xpq/wXj9V+NklL3zEHkNRUPxV+zN1U6ZR70b2KoTGRdcSVjuqPeWW9KWRGOrz1u8oF7HRc+Jo6decpocWNDMiRr+YpTOFOymaPgdgkCpTHefzeUkDPO6wWnFbyohddjmjwVo/7v0Vemua4JWSAuGUxUWaEITYqnu8c6FtyxPJtDk/O9wFQSJ793EVor9forO/hz7nOCLroK8+Gd4xh74lNvBqT+2tIF/59Q8uQtasDaTiAqz5v/NR7jwku2xvEdlx08mIdgp2dkph6Gd+Uztx/oOnm4HOqGVOxrLjmaoTtkJyQslJ/r9nnnSg==; h=Received:Received:Received:Received:From:To:Cc:Subject:Date:Message-Id:X-Mailer:In-Reply-To:References; DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=bitdefender.com; h=from:to :cc:subject:date:message-id:in-reply-to:references; s=default; bh=u5eLmxkVbpCteCM+thGl26BtS1k=; b=sCWgZ9pR6lEgDQcmWIuluNpTvMWi uhJGjEZZ1SbtQVj9FGiRRNxXI+znJHKYw9f9uj6EpWXF6JE26L54UkZeQH5jbEF3 2NcaDhHielyPU5BSr7jOfWh9RjFBe17cyaKMA/yZNXWVFayIrAZ6rLdfmBFpvQYu 3XFoyuB3EBOPVAXHhcDbQogMzKjHIx0QjkfA1vcJyU7fsUJhwHjUC0x5GXq0dCoe qCo1lwxg4Iv/uHHQDwSSGjHCWTBwr88UMUqI2uuBJtumxwFnqmZmy/k56L+VlJva RaDD81Mn6bAMtGh1X1fCU0npJ9XLEMj567Dw6OJ3ahp3dYtNIQBre6ixrA== Received: (qmail 5590 invoked from network); 16 Jun 2017 16:35:59 +0300 Received: from mx01robo.bbu.dsd.mx.bitdefender.com (10.17.80.60) by mx02.buh.bitdefender.com with AES128-GCM-SHA256 encrypted SMTP; 16 Jun 2017 16:35:59 +0300 Received: (qmail 27340 invoked from network); 16 Jun 2017 16:35:58 +0300 Received: from unknown (HELO host.dsd.bitdefender.biz) (10.10.194.143) by mx01robo.bbu.dsd.mx.bitdefender.com with SMTP; 16 Jun 2017 16:35:58 +0300 From: Adalbert Lazar To: kvm@vger.kernel.org Cc: Paolo Bonzini , =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= , alazar@bitdefender.com, mdontu@bitdefender.com Subject: [RFC PATCH 09/19] kvm: Hook in kvmi on VM on/off events Date: Fri, 16 Jun 2017 16:43:38 +0300 Message-Id: <20170616134348.17725-10-alazar@bitdefender.com> X-Mailer: git-send-email 2.12.2 In-Reply-To: <20170616134348.17725-1-alazar@bitdefender.com> References: <20170616134348.17725-1-alazar@bitdefender.com> Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Mihai Dontu Notify the guest introspection tool when a VM is created (KVMI_EVENT_GUEST_ON) or destroyed (KVMI_EVENT_GUEST_OFF). Signed-off-by: Mihai Dontu --- virt/kvm/kvm_main.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index c819b6b0a36e..179b688a8aef 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c @@ -784,6 +784,7 @@ static int kvm_vm_release(struct inode *inode, struct file *filp) { struct kvm *kvm = filp->private_data; + kvmi_vm_powered_off(kvm); kvm_irqfd_release(kvm); kvm_put_kvm(kvm); @@ -2574,6 +2575,8 @@ static long kvm_vcpu_ioctl(struct file *filp, synchronize_rcu(); put_pid(oldpid); } + if (!test_and_set_bit(0, &vcpu->kvm->introduced)) + kvmi_vm_powered_on(vcpu->kvm); r = kvm_arch_vcpu_ioctl_run(vcpu, vcpu->run); trace_kvm_userspace_exit(vcpu->run->exit_reason, r); break;