From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Adalbert=20Laz=C4=83r?= Subject: [RFC PATCH v6 06/92] kvm: introspection: add KVMI_CONTROL_CMD_RESPONSE Date: Fri, 9 Aug 2019 18:59:21 +0300 Message-ID: <20190809160047.8319-7-alazar@bitdefender.com> References: <20190809160047.8319-1-alazar@bitdefender.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190809160047.8319-1-alazar@bitdefender.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: virtualization-bounces@lists.linux-foundation.org Errors-To: virtualization-bounces@lists.linux-foundation.org To: kvm@vger.kernel.org Cc: Tamas K Lengyel , Weijiang Yang , Yu C , =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= , Jan Kiszka , =?UTF-8?q?Samuel=20Laur=C3=A9n?= , Konrad Rzeszutek Wilk , virtualization@lists.linux-foundation.org, =?UTF-8?q?Adalbert=20Laz=C4=83r?= , linux-mm@kvack.org, Patrick Colp , Mathieu Tarral , Stefan Hajnoczi , Paolo Bonzini , Zhang@mail.linuxfoundation.org, =?UTF-8?q?Mihai=20Don=C8=9Bu?= List-Id: virtualization@lists.linuxfoundation.org VGhpcyBjb21tYW5kIGVuYWJsZXMvZGlzYWJsZXMgdGhlIGNvbW1hbmQgcmVwbGllcy4gSXQgaXMg dXNlZnVsIHdoZW4KdGhlIGludHJvc3BlY3Rpb24gdG9vbCBzZW5kIG11bHRpcGxlIG1lc3NhZ2Vz IHdpdGggb25lIHdyaXRlKCkgY2FsbCBhbmQKZG9lc24ndCBoYXZlIHRvIHdhaXQgZm9yIGEgcmVw bHkuCgpJSVJDLCB0aGUgc3BlZWQgaW1wcm92bWVudCBzZWVuIGR1cmluZyBVbml4QmVuY2ggdGVz dHMgaW4gYSBWTQppbnRyb3NwZWN0ZWQgdGhyb3VnaCB2c29jayAodGhlIGludHJvc3BlY3Rpb24g dG9vbCB3YXMgcnVubmluZyBpbiBhCmRpZmZlcmVudCBWTSkgd2FzIGFyb3VuZCA1LTEwJS4KClNp Z25lZC1vZmYtYnk6IEFkYWxiZXJ0IExhesSDciA8YWxhemFyQGJpdGRlZmVuZGVyLmNvbT4KLS0t CiBEb2N1bWVudGF0aW9uL3ZpcnR1YWwva3ZtL2t2bWkucnN0IHwgNTAgKysrKysrKysrKysrKysr KysrKysrKysrKysKIGluY2x1ZGUvdWFwaS9saW51eC9rdm1pLmggICAgICAgICAgfCAgNyArKysr CiB2aXJ0L2t2bS9rdm1pX2ludC5oICAgICAgICAgICAgICAgIHwgIDIgKysKIHZpcnQva3ZtL2t2 bWlfbXNnLmMgICAgICAgICAgICAgICAgfCA1NyArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysKIDQgZmlsZXMgY2hhbmdlZCwgMTE2IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9Eb2N1 bWVudGF0aW9uL3ZpcnR1YWwva3ZtL2t2bWkucnN0IGIvRG9jdW1lbnRhdGlvbi92aXJ0dWFsL2t2 bS9rdm1pLnJzdAppbmRleCAwZjI5NmUzYzQyNDQuLjgyZGU0NzRkNTEyYiAxMDA2NDQKLS0tIGEv RG9jdW1lbnRhdGlvbi92aXJ0dWFsL2t2bS9rdm1pLnJzdAorKysgYi9Eb2N1bWVudGF0aW9uL3Zp cnR1YWwva3ZtL2t2bWkucnN0CkBAIC0yNTIsMyArMjUyLDUzIEBAIFJldHVybnMgdGhlIGludHJv c3BlY3Rpb24gQVBJIHZlcnNpb24uCiAKIFRoaXMgY29tbWFuZCBpcyBhbHdheXMgYWxsb3dlZCBh bmQgc3VjY2Vzc2Z1bCAoaWYgdGhlIGludHJvc3BlY3Rpb24gaXMKIGJ1aWx0IGluIGtlcm5lbCku CisKKzIuIEtWTUlfQ09OVFJPTF9DTURfUkVTUE9OU0UKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKworOkFyY2hpdGVjdHVyZXM6IGFsbAorOlZlcnNpb25zOiA+PSAxCis6UGFyYW1ldGVy czoKKworOjoKKworCXN0cnVjdCBrdm1pX2NvbnRyb2xfY21kX3Jlc3BvbnNlIHsKKwkJX191OCBl bmFibGU7CisJCV9fdTggbm93OworCQlfX3UxNiBwYWRkaW5nMTsKKwkJX191MzIgcGFkZGluZzI7 CisJfTsKKworOlJldHVybnM6CisKKzo6CisJc3RydWN0IGt2bWlfZXJyb3JfY29kZQorCitFbmFi bGVzIG9yIGRpc2FibGVzIHRoZSBjb21tYW5kIHJlcGxpZXMuIEJ5IGRlZmF1bHQsIGFsbCBjb21t YW5kcyBuZWVkCithIHJlcGx5LgorCitJZiBgbm93YCBpcyAxLCB0aGUgY29tbWFuZCByZXBseSBp cyBlbmFibGVkL2Rpc2FibGVkIChhY2NvcmRpbmcgdG8KK2BlbmFibGVgKSBzdGFydGluZyB3aXRo IHRoZSBjdXJyZW50IGNvbW1hbmQuIEZvciBleGFtcGxlLCBgZW5hYmxlPTBgCithbmQgYG5vdz0x YCBtZWFucyB0aGF0IHRoZSByZXBseSBpcyBkaXNhYmxlZCBmb3IgdGhpcyBjb21tYW5kIHRvbywK K3doaWxlIGBlbmFibGU9MGAgYW5kIGBub3c9MGAgbWVhbnMgdGhhdCBhIHJlcGx5IHdpbGwgYmUg c2VuZCBmb3IgdGhpcworY29tbWFuZCwgYnV0IG5vdCBmb3IgdGhlIG5leHQgb25lcyAodW50aWwg ZW5hYmxlZCBiYWNrIHdpdGggYW5vdGhlcgorKktWTUlfQ09OVFJPTF9DTURfUkVTUE9OU0UqKS4K KworVGhpcyBjb21tYW5kIGlzIHVzZWQgYnkgdGhlIGludHJvc3BlY3Rpb24gdG9vbCB0byBkaXNh YmxlIHRoZSByZXBsaWVzCitmb3IgY29tbWFuZHMgcmV0dXJuaW5nIGFuIGVycm9yIGNvZGUgb25s eSAoZWcuICpLVk1JX1NFVF9SRUdJU1RFUlMqKQord2hlbiBhbiBlcnJvciBpcyBsZXNzIGxpa2Vs eSB0byBoYXBwZW4uIEZvciBleGFtcGxlLCB0aGUgZm9sbG93aW5nCitjb21tYW5kcyBjYW4gYmUg dXNlZCB0byByZXBseSB0byBhbiBldmVudCB3aXRoIGEgc2luZ2xlIGB3cml0ZSgpYCBjYWxsOgor CisJS1ZNSV9DT05UUk9MX0NNRF9SRVNQT05TRSBlbmFibGU9MCBub3c9MQorCUtWTUlfU0VUX1JF R0lTVEVSUyB2Y3B1PU4KKwlLVk1JX0VWRU5UX1JFUExZICAgdmNwdT1OCisJS1ZNSV9DT05UUk9M X0NNRF9SRVNQT05TRSBlbmFibGU9MSBub3c9MAorCitXaGlsZSB0aGUgY29tbWFuZCByZXBseSBp cyBkaXNhYmxlZDoKKworKiB0aGUgc29ja2V0IHdpbGwgYmUgY2xvc2VkIG9uIGFueSBjb21tYW5k IGZvciB3aGljaCB0aGUgcmVwbHkgc2hvdWxkCisgIGNvbnRhaW4gbW9yZSB0aGFuIGp1c3QgYW4g ZXJyb3IgY29kZSAoZWcuICpLVk1JX0dFVF9SRUdJU1RFUlMqKQorCisqIHRoZSByZXBseSBzdGF0 dXMgaXMgaWdub3JlZCBmb3IgYW55IHVuc3VwcG9ydGVkL3Vua25vd24gb3IgZGlzYWxsb3dlZAor ICBjb21tYW5kcyAoYW5kIGBgc3RydWN0IGt2bWlfZXJyb3JfY29kZWBgIHdpbGwgYmUgc2VudCB3 aXRoIC1LVk1fRU9QTk9UU1VQUAorICBvciAtS1ZNX1BFUk0pLgpkaWZmIC0tZ2l0IGEvaW5jbHVk ZS91YXBpL2xpbnV4L2t2bWkuaCBiL2luY2x1ZGUvdWFwaS9saW51eC9rdm1pLmgKaW5kZXggOTU3 NGJhMGI5NTY1Li5hMWFiMzljNWI4ZTAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdWFwaS9saW51eC9r dm1pLmgKKysrIGIvaW5jbHVkZS91YXBpL2xpbnV4L2t2bWkuaApAQCAtODMsNCArODMsMTEgQEAg c3RydWN0IGt2bWlfZ2V0X3ZlcnNpb25fcmVwbHkgewogCV9fdTMyIHBhZGRpbmc7CiB9OwogCitz dHJ1Y3Qga3ZtaV9jb250cm9sX2NtZF9yZXNwb25zZSB7CisJX191OCBlbmFibGU7CisJX191OCBu b3c7CisJX191MTYgcGFkZGluZzE7CisJX191MzIgcGFkZGluZzI7Cit9OworCiAjZW5kaWYgLyog X1VBUElfX0xJTlVYX0tWTUlfSCAqLwpkaWZmIC0tZ2l0IGEvdmlydC9rdm0va3ZtaV9pbnQuaCBi L3ZpcnQva3ZtL2t2bWlfaW50LmgKaW5kZXggNzYxMTlhNGI2OWQ4Li4xNTdmNzY1ZmIzNGQgMTAw NjQ0Ci0tLSBhL3ZpcnQva3ZtL2t2bWlfaW50LmgKKysrIGIvdmlydC9rdm0va3ZtaV9pbnQuaApA QCAtODUsNiArODUsOCBAQCBzdHJ1Y3Qga3ZtaSB7CiAKIAlERUNMQVJFX0JJVE1BUChjbWRfYWxs b3dfbWFzaywgS1ZNSV9OVU1fQ09NTUFORFMpOwogCURFQ0xBUkVfQklUTUFQKGV2ZW50X2FsbG93 X21hc2ssIEtWTUlfTlVNX0VWRU5UUyk7CisKKwlib29sIGNtZF9yZXBseV9kaXNhYmxlZDsKIH07 CiAKIC8qIGt2bWlfbXNnLmMgKi8KZGlmZiAtLWdpdCBhL3ZpcnQva3ZtL2t2bWlfbXNnLmMgYi92 aXJ0L2t2bS9rdm1pX21zZy5jCmluZGV4IDZmZTA0ZGUyOWY3ZS4uZWE1YzdlMjM2NjlhIDEwMDY0 NAotLS0gYS92aXJ0L2t2bS9rdm1pX21zZy5jCisrKyBiL3ZpcnQva3ZtL2t2bWlfbXNnLmMKQEAg LTksNiArOSw3IEBACiAjaW5jbHVkZSAia3ZtaV9pbnQuaCIKIAogc3RhdGljIGNvbnN0IGNoYXIg KmNvbnN0IG1zZ19JRHNbXSA9IHsKKwlbS1ZNSV9DT05UUk9MX0NNRF9SRVNQT05TRV0gID0gIktW TUlfQ09OVFJPTF9DTURfUkVTUE9OU0UiLAogCVtLVk1JX0dFVF9WRVJTSU9OXSAgICAgICAgICAg PSAiS1ZNSV9HRVRfVkVSU0lPTiIsCiB9OwogCkBAIC0xMzAsNiArMTMxLDM2IEBAIHN0YXRpYyBp bnQga3ZtaV9tc2dfdm1fcmVwbHkoc3RydWN0IGt2bWkgKmlrdm0sCiAJcmV0dXJuIGt2bWlfbXNn X3JlcGx5KGlrdm0sIG1zZywgZXJyLCBycGwsIHJwbF9zaXplKTsKIH0KIAorc3RhdGljIGJvb2wg a3ZtaV92YWxpZGF0ZV9ub19yZXBseShzdHJ1Y3Qga3ZtaSAqaWt2bSwKKwkJCQkgICBjb25zdCBz dHJ1Y3Qga3ZtaV9tc2dfaGRyICptc2csCisJCQkJICAgc2l6ZV90IHJwbF9zaXplLCBpbnQgZXJy KQoreworCWlmIChycGxfc2l6ZSkgeworCQlrdm1pX2Vycihpa3ZtLCAiUmVwbHkgZGlzYWJsZWQg Zm9yIGNvbW1hbmQgJWQiLCBtc2ctPmlkKTsKKwkJcmV0dXJuIGZhbHNlOworCX0KKworCWlmIChl cnIpCisJCWt2bWlfd2Fybihpa3ZtLCAiRXJyb3IgY29kZSAlZCBkaXNjYXJkZWQgZm9yIG1lc3Nh Z2UgaWQgJWRcbiIsCisJCQkgIGVyciwgbXNnLT5pZCk7CisKKwlyZXR1cm4gdHJ1ZTsKK30KKwor c3RhdGljIGludCBrdm1pX21zZ192bV9tYXliZV9yZXBseShzdHJ1Y3Qga3ZtaSAqaWt2bSwKKwkJ CQkgICBjb25zdCBzdHJ1Y3Qga3ZtaV9tc2dfaGRyICptc2csCisJCQkJICAgaW50IGVyciwgY29u c3Qgdm9pZCAqcnBsLAorCQkJCSAgIHNpemVfdCBycGxfc2l6ZSkKK3sKKwlpZiAoaWt2bS0+Y21k X3JlcGx5X2Rpc2FibGVkKSB7CisJCWlmICgha3ZtaV92YWxpZGF0ZV9ub19yZXBseShpa3ZtLCBt c2csIHJwbF9zaXplLCBlcnIpKQorCQkJcmV0dXJuIC1LVk1fRUlOVkFMOworCQlyZXR1cm4gMDsK Kwl9CisKKwlyZXR1cm4ga3ZtaV9tc2dfdm1fcmVwbHkoaWt2bSwgbXNnLCBlcnIsIHJwbCwgcnBs X3NpemUpOworfQorCiBzdGF0aWMgaW50IGhhbmRsZV9nZXRfdmVyc2lvbihzdHJ1Y3Qga3ZtaSAq aWt2bSwKIAkJCSAgICAgIGNvbnN0IHN0cnVjdCBrdm1pX21zZ19oZHIgKm1zZywgY29uc3Qgdm9p ZCAqcmVxKQogewpAQCAtMTQ2LDExICsxNzcsMzcgQEAgc3RhdGljIGJvb2wgaXNfY29tbWFuZF9h bGxvd2VkKHN0cnVjdCBrdm1pICppa3ZtLCBpbnQgaWQpCiAJcmV0dXJuIHRlc3RfYml0KGlkLCBp a3ZtLT5jbWRfYWxsb3dfbWFzayk7CiB9CiAKK3N0YXRpYyBpbnQgaGFuZGxlX2NvbnRyb2xfY21k X3Jlc3BvbnNlKHN0cnVjdCBrdm1pICppa3ZtLAorCQkJCQljb25zdCBzdHJ1Y3Qga3ZtaV9tc2df aGRyICptc2csCisJCQkJCWNvbnN0IHZvaWQgKl9yZXEpCit7CisJY29uc3Qgc3RydWN0IGt2bWlf Y29udHJvbF9jbWRfcmVzcG9uc2UgKnJlcSA9IF9yZXE7CisJYm9vbCBkaXNhYmxlZCwgbm93Owor CWludCBlcnI7CisKKwlpZiAocmVxLT5wYWRkaW5nMSB8fCByZXEtPnBhZGRpbmcyKQorCQlyZXR1 cm4gLUtWTV9FSU5WQUw7CisKKwlkaXNhYmxlZCA9ICFyZXEtPmVuYWJsZTsKKwlub3cgPSAocmVx LT5ub3cgPT0gMSk7CisKKwlpZiAobm93KQorCQlpa3ZtLT5jbWRfcmVwbHlfZGlzYWJsZWQgPSBk aXNhYmxlZDsKKworCWVyciA9IGt2bWlfbXNnX3ZtX21heWJlX3JlcGx5KGlrdm0sIG1zZywgMCwg TlVMTCwgMCk7CisKKwlpZiAoIW5vdykKKwkJaWt2bS0+Y21kX3JlcGx5X2Rpc2FibGVkID0gZGlz YWJsZWQ7CisKKwlyZXR1cm4gZXJyOworfQorCiAvKgogICogVGhlc2UgY29tbWFuZHMgYXJlIGV4 ZWN1dGVkIG9uIHRoZSByZWNlaXZpbmcgdGhyZWFkL3dvcmtlci4KICAqLwogc3RhdGljIGludCgq Y29uc3QgbXNnX3ZtW10pKHN0cnVjdCBrdm1pICosIGNvbnN0IHN0cnVjdCBrdm1pX21zZ19oZHIg KiwKIAkJCSAgICBjb25zdCB2b2lkICopID0geworCVtLVk1JX0NPTlRST0xfQ01EX1JFU1BPTlNF XSAgPSBoYW5kbGVfY29udHJvbF9jbWRfcmVzcG9uc2UsCiAJW0tWTUlfR0VUX1ZFUlNJT05dICAg ICAgICAgICA9IGhhbmRsZV9nZXRfdmVyc2lvbiwKIH07CiAKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KVmlydHVhbGl6YXRpb24gbWFpbGluZyBsaXN0ClZp cnR1YWxpemF0aW9uQGxpc3RzLmxpbnV4LWZvdW5kYXRpb24ub3JnCmh0dHBzOi8vbGlzdHMubGlu dXhmb3VuZGF0aW9uLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3ZpcnR1YWxpemF0aW9u