From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6D368C433F5 for ; Wed, 6 Oct 2021 17:50:45 +0000 (UTC) Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 36EAC61151 for ; Wed, 6 Oct 2021 17:50:45 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 36EAC61151 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=bitdefender.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=lists.linux-foundation.org Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id ED833405CC; Wed, 6 Oct 2021 17:50:44 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4yDDYEvepYPb; Wed, 6 Oct 2021 17:50:44 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp4.osuosl.org (Postfix) with ESMTPS id 83913405FD; Wed, 6 Oct 2021 17:50:43 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 76001C0027; Wed, 6 Oct 2021 17:50:42 +0000 (UTC) Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by lists.linuxfoundation.org (Postfix) with ESMTP id 4C41DC001D for ; Wed, 6 Oct 2021 17:50:41 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 1BB42405E9 for ; Wed, 6 Oct 2021 17:50:41 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SmalmXRiAvGF for ; Wed, 6 Oct 2021 17:50:40 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.8.0 Received: from mx01.bbu.dsd.mx.bitdefender.com (mx01.bbu.dsd.mx.bitdefender.com [91.199.104.161]) by smtp4.osuosl.org (Postfix) with ESMTPS id 1F37F405CC for ; Wed, 6 Oct 2021 17:50:40 +0000 (UTC) Received: from smtp.bitdefender.com (smtp01.buh.bitdefender.com [10.17.80.75]) by mx01.bbu.dsd.mx.bitdefender.com (Postfix) with ESMTPS id 2770E305CD43; Wed, 6 Oct 2021 20:31:11 +0300 (EEST) Received: from localhost (unknown [91.199.104.28]) by smtp.bitdefender.com (Postfix) with ESMTPSA id 0D3783011FD8; Wed, 6 Oct 2021 20:31:11 +0300 (EEST) X-Is-Junk-Enabled: fGZTSsP0qEJE2AIKtlSuFiRRwg9xyHmJ From: =?UTF-8?q?Adalbert=20Laz=C4=83r?= To: kvm@vger.kernel.org Subject: [PATCH v12 42/77] KVM: introspection: handle vCPU introspection requests Date: Wed, 6 Oct 2021 20:30:38 +0300 Message-Id: <20211006173113.26445-43-alazar@bitdefender.com> In-Reply-To: <20211006173113.26445-1-alazar@bitdefender.com> References: <20211006173113.26445-1-alazar@bitdefender.com> MIME-Version: 1.0 Cc: Tamas K Lengyel , Wanpeng Li , Sean Christopherson , Joerg Roedel , virtualization@lists.linux-foundation.org, =?UTF-8?q?Adalbert=20Laz=C4=83r?= , Mathieu Tarral , =?UTF-8?q?Mircea=20C=C3=AErjaliu?= , Paolo Bonzini , =?UTF-8?q?Mihai=20Don=C8=9Bu?= , Jim Mattson X-BeenThere: virtualization@lists.linux-foundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Linux virtualization List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: virtualization-bounces@lists.linux-foundation.org Sender: "Virtualization" RnJvbTogTWloYWkgRG9uyJt1IDxtZG9udHVAYml0ZGVmZW5kZXIuY29tPgoKVGhlIHJlY2Vpdmlu ZyB0aHJlYWQgZGlzcGF0Y2hlcyB0aGUgdkNQVSBpbnRyb3NwZWN0aW9uIGNvbW1hbmRzIGJ5CmFk ZGluZyB0aGVtIHRvIHRoZSB2Q1BVJ3Mgam9icyBsaXN0IGFuZCBraWNraW5nIHRoZSB2Q1BVLiBC ZWZvcmUKZW50ZXJpbmcgaW4gZ3Vlc3QsIHRoZSB2Q1BVIHRocmVhZCBjaGVja3MgdGhlIGludHJv c3BlY3Rpb24gcmVxdWVzdAooS1ZNX1JFUV9JTlRST1NQRUNUSU9OKSBhbmQgcnVucyBpdHMgcXVl dWVkIGpvYnMuCgpTaWduZWQtb2ZmLWJ5OiBNaWhhaSBEb27Im3UgPG1kb250dUBiaXRkZWZlbmRl ci5jb20+CkNvLWRldmVsb3BlZC1ieTogTWlyY2VhIEPDrnJqYWxpdSA8bWNpcmphbGl1QGJpdGRl ZmVuZGVyLmNvbT4KU2lnbmVkLW9mZi1ieTogTWlyY2VhIEPDrnJqYWxpdSA8bWNpcmphbGl1QGJp dGRlZmVuZGVyLmNvbT4KQ28tZGV2ZWxvcGVkLWJ5OiBBZGFsYmVydCBMYXrEg3IgPGFsYXphckBi aXRkZWZlbmRlci5jb20+ClNpZ25lZC1vZmYtYnk6IEFkYWxiZXJ0IExhesSDciA8YWxhemFyQGJp dGRlZmVuZGVyLmNvbT4KLS0tCiBhcmNoL3g4Ni9rdm0veDg2LmMgICAgICAgICAgICB8ICAzICsr CiBpbmNsdWRlL2xpbnV4L2t2bV9ob3N0LmggICAgICB8ICAxICsKIGluY2x1ZGUvbGludXgva3Zt aV9ob3N0LmggICAgIHwgIDQgKysKIHZpcnQva3ZtL2ludHJvc3BlY3Rpb24va3ZtaS5jIHwgNzMg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHZpcnQva3ZtL2t2bV9tYWluLmMg ICAgICAgICAgIHwgIDIgKwogNSBmaWxlcyBjaGFuZ2VkLCA4MyBpbnNlcnRpb25zKCspCgpkaWZm IC0tZ2l0IGEvYXJjaC94ODYva3ZtL3g4Ni5jIGIvYXJjaC94ODYva3ZtL3g4Ni5jCmluZGV4IGVl MDhmYjMzMGYwZi4uMDMxNWM1YTk0YWYzIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rdm0veDg2LmMK KysrIGIvYXJjaC94ODYva3ZtL3g4Ni5jCkBAIC05ODI3LDYgKzk4MjcsOSBAQCBzdGF0aWMgaW50 IHZjcHVfcnVuKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSkKIAl2Y3B1LT5hcmNoLmwxdGZfZmx1c2hf bDFkID0gdHJ1ZTsKIAogCWZvciAoOzspIHsKKwkJaWYgKGt2bV9jaGVja19yZXF1ZXN0KEtWTV9S RVFfSU5UUk9TUEVDVElPTiwgdmNwdSkpCisJCQlrdm1pX2hhbmRsZV9yZXF1ZXN0cyh2Y3B1KTsK KwogCQlpZiAoa3ZtX3ZjcHVfcnVubmluZyh2Y3B1KSkgewogCQkJciA9IHZjcHVfZW50ZXJfZ3Vl c3QodmNwdSk7CiAJCX0gZWxzZSB7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2t2bV9ob3N0 LmggYi9pbmNsdWRlL2xpbnV4L2t2bV9ob3N0LmgKaW5kZXggMzBiZjEyMjdjNGE3Li43ZDQyOWQz YWZiYjYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgva3ZtX2hvc3QuaAorKysgYi9pbmNsdWRl L2xpbnV4L2t2bV9ob3N0LmgKQEAgLTE1MSw2ICsxNTEsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wg aXNfZXJyb3JfcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSkKICNkZWZpbmUgS1ZNX1JFUV9VTkJMT0NL ICAgICAgICAgICAyCiAjZGVmaW5lIEtWTV9SRVFfVU5IQUxUICAgICAgICAgICAgMwogI2RlZmlu ZSBLVk1fUkVRX1ZNX0JVR0dFRCAgICAgICAgICg0IHwgS1ZNX1JFUVVFU1RfV0FJVCB8IEtWTV9S RVFVRVNUX05PX1dBS0VVUCkKKyNkZWZpbmUgS1ZNX1JFUV9JTlRST1NQRUNUSU9OICAgICA1CiAj ZGVmaW5lIEtWTV9SRVFVRVNUX0FSQ0hfQkFTRSAgICAgOAogCiAjZGVmaW5lIEtWTV9BUkNIX1JF UV9GTEFHUyhuciwgZmxhZ3MpICh7IFwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgva3ZtaV9o b3N0LmggYi9pbmNsdWRlL2xpbnV4L2t2bWlfaG9zdC5oCmluZGV4IGIzODc0NDE5NTExZC4uNzM2 ZWRiNDAwYzA1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2t2bWlfaG9zdC5oCisrKyBiL2lu Y2x1ZGUvbGludXgva3ZtaV9ob3N0LmgKQEAgLTUzLDYgKzUzLDggQEAgaW50IGt2bWlfaW9jdGxf ZXZlbnQoc3RydWN0IGt2bSAqa3ZtLAogCQkgICAgIGNvbnN0IHN0cnVjdCBrdm1faW50cm9zcGVj dGlvbl9mZWF0dXJlICpmZWF0KTsKIGludCBrdm1pX2lvY3RsX3ByZXVuaG9vayhzdHJ1Y3Qga3Zt ICprdm0pOwogCit2b2lkIGt2bWlfaGFuZGxlX3JlcXVlc3RzKHN0cnVjdCBrdm1fdmNwdSAqdmNw dSk7CisKICNlbHNlCiAKIHN0YXRpYyBpbmxpbmUgaW50IGt2bWlfdmVyc2lvbih2b2lkKSB7IHJl dHVybiAwOyB9CkBAIC02Miw2ICs2NCw4IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBrdm1pX2NyZWF0 ZV92bShzdHJ1Y3Qga3ZtICprdm0pIHsgfQogc3RhdGljIGlubGluZSB2b2lkIGt2bWlfZGVzdHJv eV92bShzdHJ1Y3Qga3ZtICprdm0pIHsgfQogc3RhdGljIGlubGluZSB2b2lkIGt2bWlfdmNwdV91 bmluaXQoc3RydWN0IGt2bV92Y3B1ICp2Y3B1KSB7IH0KIAorc3RhdGljIGlubGluZSB2b2lkIGt2 bWlfaGFuZGxlX3JlcXVlc3RzKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSkgeyB9CisKICNlbmRpZiAv KiBDT05GSUdfS1ZNX0lOVFJPU1BFQ1RJT04gKi8KIAogI2VuZGlmCmRpZmYgLS1naXQgYS92aXJ0 L2t2bS9pbnRyb3NwZWN0aW9uL2t2bWkuYyBiL3ZpcnQva3ZtL2ludHJvc3BlY3Rpb24va3ZtaS5j CmluZGV4IGU4ZDJkMjgwZmI0My4uOTNiMWJlYzIzZTQ4IDEwMDY0NAotLS0gYS92aXJ0L2t2bS9p bnRyb3NwZWN0aW9uL2t2bWkuYworKysgYi92aXJ0L2t2bS9pbnRyb3NwZWN0aW9uL2t2bWkuYwpA QCAtMTI0LDYgKzEyNCwxMiBAQCB2b2lkIGt2bWlfdW5pbml0KHZvaWQpCiAJa3ZtaV9jYWNoZV9k ZXN0cm95KCk7CiB9CiAKK3N0YXRpYyB2b2lkIGt2bWlfbWFrZV9yZXF1ZXN0KHN0cnVjdCBrdm1f dmNwdSAqdmNwdSkKK3sKKwlrdm1fbWFrZV9yZXF1ZXN0KEtWTV9SRVFfSU5UUk9TUEVDVElPTiwg dmNwdSk7CisJa3ZtX3ZjcHVfa2ljayh2Y3B1KTsKK30KKwogc3RhdGljIGludCBfX2t2bWlfYWRk X2pvYihzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUsCiAJCQkgIHZvaWQgKCpmY3QpKHN0cnVjdCBrdm1f dmNwdSAqdmNwdSwgdm9pZCAqY3R4KSwKIAkJCSAgdm9pZCAqY3R4LCB2b2lkICgqZnJlZV9mY3Qp KHZvaWQgKmN0eCkpCkBAIC0xNTUsNiArMTYxLDkgQEAgaW50IGt2bWlfYWRkX2pvYihzdHJ1Y3Qg a3ZtX3ZjcHUgKnZjcHUsCiAKIAllcnIgPSBfX2t2bWlfYWRkX2pvYih2Y3B1LCBmY3QsIGN0eCwg ZnJlZV9mY3QpOwogCisJaWYgKCFlcnIpCisJCWt2bWlfbWFrZV9yZXF1ZXN0KHZjcHUpOworCiAJ cmV0dXJuIGVycjsKIH0KIApAQCAtMzIzLDYgKzMzMiwxNCBAQCBpbnQga3ZtaV9pb2N0bF91bmhv b2soc3RydWN0IGt2bSAqa3ZtKQogCXJldHVybiAwOwogfQogCitzdHJ1Y3Qga3ZtX2ludHJvc3Bl Y3Rpb24gKiBfX211c3RfY2hlY2sga3ZtaV9nZXQoc3RydWN0IGt2bSAqa3ZtKQoreworCWlmIChy ZWZjb3VudF9pbmNfbm90X3plcm8oJmt2bS0+a3ZtaV9yZWYpKQorCQlyZXR1cm4ga3ZtLT5rdm1p OworCisJcmV0dXJuIE5VTEw7Cit9CisKIHN0YXRpYyB2b2lkIGt2bWlfcHV0KHN0cnVjdCBrdm0g Kmt2bSkKIHsKIAlpZiAocmVmY291bnRfZGVjX2FuZF90ZXN0KCZrdm0tPmt2bWlfcmVmKSkKQEAg LTM0MCw2ICszNTcsMTkgQEAgc3RhdGljIGludCBfX2t2bWlfaG9vayhzdHJ1Y3Qga3ZtICprdm0s CiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyB2b2lkIGt2bWlfam9iX3JlbGVhc2VfdmNwdShzdHJ1 Y3Qga3ZtX3ZjcHUgKnZjcHUsIHZvaWQgKmN0eCkKK3sKK30KKworc3RhdGljIHZvaWQga3ZtaV9y ZWxlYXNlX3ZjcHVzKHN0cnVjdCBrdm0gKmt2bSkKK3sKKwlzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHU7 CisJaW50IGk7CisKKwlrdm1fZm9yX2VhY2hfdmNwdShpLCB2Y3B1LCBrdm0pCisJCWt2bWlfYWRk X2pvYih2Y3B1LCBrdm1pX2pvYl9yZWxlYXNlX3ZjcHUsIE5VTEwsIE5VTEwpOworfQorCiBzdGF0 aWMgaW50IGt2bWlfcmVjdl90aHJlYWQodm9pZCAqYXJnKQogewogCXN0cnVjdCBrdm1faW50cm9z cGVjdGlvbiAqa3ZtaSA9IGFyZzsKQEAgLTM1MCw2ICszODAsOCBAQCBzdGF0aWMgaW50IGt2bWlf cmVjdl90aHJlYWQodm9pZCAqYXJnKQogCS8qIFNpZ25hbCB1c2Vyc3BhY2UgYW5kIHByZXZlbnQg dGhlIHZDUFVzIGZyb20gc2VuZGluZyBldmVudHMuICovCiAJa3ZtaV9zb2NrX3NodXRkb3duKGt2 bWkpOwogCisJa3ZtaV9yZWxlYXNlX3ZjcHVzKGt2bWktPmt2bSk7CisKIAlrdm1pX3B1dChrdm1p LT5rdm0pOwogCXJldHVybiAwOwogfQpAQCAtMzgyLDYgKzQxNCwxMCBAQCBzdGF0aWMgaW50IGt2 bWlfaG9vayhzdHJ1Y3Qga3ZtICprdm0sCiAJaW5pdF9jb21wbGV0aW9uKCZrdm0tPmt2bWlfY29t cGxldGUpOwogCiAJcmVmY291bnRfc2V0KCZrdm0tPmt2bWlfcmVmLCAxKTsKKwkvKgorCSAqIFBh aXJlZCB3aXRoIHJlZmNvdW50X2luY19ub3RfemVybygpIGZyb20ga3ZtaV9nZXQoKS4KKwkgKi8K KwlzbXBfd21iKCk7CiAKIAlrdm1pLT5yZWN2ID0ga3RocmVhZF9ydW4oa3ZtaV9yZWN2X3RocmVh ZCwga3ZtaSwgImt2bWktcmVjdiIpOwogCWlmIChJU19FUlIoa3ZtaS0+cmVjdikpIHsKQEAgLTY3 MCwzICs3MDYsNDAgQEAgaW50IGt2bWlfY21kX3dyaXRlX3BoeXNpY2FsKHN0cnVjdCBrdm0gKmt2 bSwgdTY0IGdwYSwgc2l6ZV90IHNpemUsCiAKIAlyZXR1cm4gZWM7CiB9CisKK3N0YXRpYyBzdHJ1 Y3Qga3ZtaV9qb2IgKmt2bWlfcHVsbF9qb2Ioc3RydWN0IGt2bV92Y3B1X2ludHJvc3BlY3Rpb24g KnZjcHVpKQoreworCXN0cnVjdCBrdm1pX2pvYiAqam9iID0gTlVMTDsKKworCXNwaW5fbG9jaygm dmNwdWktPmpvYl9sb2NrKTsKKwlqb2IgPSBsaXN0X2ZpcnN0X2VudHJ5X29yX251bGwoJnZjcHVp LT5qb2JfbGlzdCwgdHlwZW9mKCpqb2IpLCBsaW5rKTsKKwlpZiAoam9iKQorCQlsaXN0X2RlbCgm am9iLT5saW5rKTsKKwlzcGluX3VubG9jaygmdmNwdWktPmpvYl9sb2NrKTsKKworCXJldHVybiBq b2I7Cit9CisKK3ZvaWQga3ZtaV9ydW5fam9icyhzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpCit7CisJ c3RydWN0IGt2bV92Y3B1X2ludHJvc3BlY3Rpb24gKnZjcHVpID0gVkNQVUkodmNwdSk7CisJc3Ry dWN0IGt2bWlfam9iICpqb2I7CisKKwl3aGlsZSAoKGpvYiA9IGt2bWlfcHVsbF9qb2IodmNwdWkp KSkgeworCQlqb2ItPmZjdCh2Y3B1LCBqb2ItPmN0eCk7CisJCWt2bWlfZnJlZV9qb2Ioam9iKTsK Kwl9Cit9CisKK3ZvaWQga3ZtaV9oYW5kbGVfcmVxdWVzdHMoc3RydWN0IGt2bV92Y3B1ICp2Y3B1 KQoreworCXN0cnVjdCBrdm1faW50cm9zcGVjdGlvbiAqa3ZtaTsKKworCWt2bWkgPSBrdm1pX2dl dCh2Y3B1LT5rdm0pOworCWlmICgha3ZtaSkKKwkJcmV0dXJuOworCisJa3ZtaV9ydW5fam9icyh2 Y3B1KTsKKworCWt2bWlfcHV0KHZjcHUtPmt2bSk7Cit9CmRpZmYgLS1naXQgYS92aXJ0L2t2bS9r dm1fbWFpbi5jIGIvdmlydC9rdm0va3ZtX21haW4uYwppbmRleCBkNzBlYzExMDY5NmYuLmZkMDU4 NjlkNzAzYSAxMDA2NDQKLS0tIGEvdmlydC9rdm0va3ZtX21haW4uYworKysgYi92aXJ0L2t2bS9r dm1fbWFpbi5jCkBAIC0zMjAyLDYgKzMyMDIsOCBAQCBzdGF0aWMgaW50IGt2bV92Y3B1X2NoZWNr X2Jsb2NrKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSkKIAkJZ290byBvdXQ7CiAJaWYgKGt2bV9jaGVj a19yZXF1ZXN0KEtWTV9SRVFfVU5CTE9DSywgdmNwdSkpCiAJCWdvdG8gb3V0OworCWlmIChrdm1f dGVzdF9yZXF1ZXN0KEtWTV9SRVFfSU5UUk9TUEVDVElPTiwgdmNwdSkpCisJCWdvdG8gb3V0Owog CiAJcmV0ID0gMDsKIG91dDoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KVmlydHVhbGl6YXRpb24gbWFpbGluZyBsaXN0ClZpcnR1YWxpemF0aW9uQGxpc3Rz LmxpbnV4LWZvdW5kYXRpb24ub3JnCmh0dHBzOi8vbGlzdHMubGludXhmb3VuZGF0aW9uLm9yZy9t YWlsbWFuL2xpc3RpbmZvL3ZpcnR1YWxpemF0aW9u