From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Adalbert=20Laz=C4=83r?= Subject: [RFC PATCH v6 19/92] kvm: introspection: add KVMI_EVENT_CREATE_VCPU Date: Fri, 9 Aug 2019 18:59:34 +0300 Message-ID: <20190809160047.8319-20-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 , =?UTF-8?q?Mircea=20C=C3=AErjaliu?= , Paolo Bonzini , Zhang@mail.linuxfoundation.org, =?UTF-8?q?Mihai=20Don=C8=9Bu?= List-Id: virtualization@lists.linuxfoundation.org RnJvbTogTWlyY2VhIEPDrnJqYWxpdSA8bWNpcmphbGl1QGJpdGRlZmVuZGVyLmNvbT4KClRoaXMg ZXZlbnQgaXMgc2VudCB3aGVuIGEgdkNQVSBpcyByZWFkeSB0byBiZSBpbnRyb3NwZWN0ZWQuCgpT aWduZWQtb2ZmLWJ5OiBNaXJjZWEgQ8OucmphbGl1IDxtY2lyamFsaXVAYml0ZGVmZW5kZXIuY29t PgpDby1kZXZlbG9wZWQtYnk6IEFkYWxiZXJ0IExhesSDciA8YWxhemFyQGJpdGRlZmVuZGVyLmNv bT4KU2lnbmVkLW9mZi1ieTogQWRhbGJlcnQgTGF6xINyIDxhbGF6YXJAYml0ZGVmZW5kZXIuY29t PgotLS0KIERvY3VtZW50YXRpb24vdmlydHVhbC9rdm0va3ZtaS5yc3QgfCAyMyArKysrKysrKysr KysrKysKIHZpcnQva3ZtL2t2bWkuYyAgICAgICAgICAgICAgICAgICAgfCA0NyArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysKIHZpcnQva3ZtL2t2bWlfaW50LmggICAgICAgICAgICAgICAg fCAgMSArCiB2aXJ0L2t2bS9rdm1pX21zZy5jICAgICAgICAgICAgICAgIHwgMTIgKysrKysrKysK IDQgZmlsZXMgY2hhbmdlZCwgODMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL0RvY3VtZW50 YXRpb24vdmlydHVhbC9rdm0va3ZtaS5yc3QgYi9Eb2N1bWVudGF0aW9uL3ZpcnR1YWwva3ZtL2t2 bWkucnN0CmluZGV4IDI4ZTFhMWM4MDU1MS4uYjI5Y2QxYjgwYjRmIDEwMDY0NAotLS0gYS9Eb2N1 bWVudGF0aW9uL3ZpcnR1YWwva3ZtL2t2bWkucnN0CisrKyBiL0RvY3VtZW50YXRpb24vdmlydHVh bC9rdm0va3ZtaS5yc3QKQEAgLTUxMywzICs1MTMsMjYgQEAgcGF1c2Uvc3RvcC9taWdyYXRlIHRo ZSBndWVzdCAoc2VlICoqVW5ob29raW5nKiopIGFuZCB0aGUgaW50cm9zcGVjdGlvbgogaGFzIGJl ZW4gZW5hYmxlZCBmb3IgdGhpcyBldmVudCAoc2VlICoqS1ZNSV9DT05UUk9MX1ZNX0VWRU5UUyoq KS4KIFRoZSBpbnRyb3NwZWN0aW9uIHRvb2wgaGFzIGEgY2hhbmNlIHRvIHVuaG9vayBhbmQgY2xv c2UgdGhlIEtWTUkgY2hhbm5lbAogKHNpZ25hbGluZyB0aGF0IHRoZSBvcGVyYXRpb24gY2FuIHBy b2NlZWQpLgorCisyLiBLVk1JX0VWRU5UX0NSRUFURV9WQ1BVCistLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisKKzpBcmNoaXRlY3R1cmVzOiBhbGwKKzpWZXJzaW9uczogPj0gMQorOkFjdGlvbnM6 IENPTlRJTlVFLCBDUkFTSAorOlBhcmFtZXRlcnM6CisKKzo6CisKKwlzdHJ1Y3Qga3ZtaV9ldmVu dDsKKworOlJldHVybnM6CisKKzo6CisKKwlzdHJ1Y3Qga3ZtaV92Y3B1X2hkcjsKKwlzdHJ1Y3Qg a3ZtaV9ldmVudF9yZXBseTsKKworVGhpcyBldmVudCBpcyBzZW50IHdoZW4gYSBuZXcgdkNQVSBp cyBjcmVhdGVkIGFuZCB0aGUgaW50cm9zcGVjdGlvbiBoYXMKK2JlZW4gZW5hYmxlZCBmb3IgdGhp cyBldmVudCAoc2VlICpLVk1JX0NPTlRST0xfVk1fRVZFTlRTKikuCisKZGlmZiAtLWdpdCBhL3Zp cnQva3ZtL2t2bWkuYyBiL3ZpcnQva3ZtL2t2bWkuYwppbmRleCA3ZWRhNDliZjY1YzQuLmQwZDlh ZGY1YjZlZCAxMDA2NDQKLS0tIGEvdmlydC9rdm0va3ZtaS5jCisrKyBiL3ZpcnQva3ZtL2t2bWku YwpAQCAtMTMsNiArMTMsNyBAQAogc3RhdGljIHN0cnVjdCBrbWVtX2NhY2hlICptc2dfY2FjaGU7 CiBzdGF0aWMgc3RydWN0IGttZW1fY2FjaGUgKmpvYl9jYWNoZTsKIAorc3RhdGljIGJvb2wga3Zt aV9jcmVhdGVfdmNwdV9ldmVudChzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpOwogc3RhdGljIHZvaWQg a3ZtaV9hYm9ydF9ldmVudHMoc3RydWN0IGt2bSAqa3ZtKTsKIAogdm9pZCAqa3ZtaV9tc2dfYWxs b2Modm9pZCkKQEAgLTE1MCw2ICsxNTEsMTEgQEAgc3RhdGljIHN0cnVjdCBrdm1pX2pvYiAqa3Zt aV9wdWxsX2pvYihzdHJ1Y3Qga3ZtaV92Y3B1ICppdmNwdSkKIAlyZXR1cm4gam9iOwogfQogCitz dGF0aWMgdm9pZCBrdm1pX2pvYl9jcmVhdGVfdmNwdShzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUsIHZv aWQgKmN0eCkKK3sKKwlrdm1pX2NyZWF0ZV92Y3B1X2V2ZW50KHZjcHUpOworfQorCiBzdGF0aWMg Ym9vbCBhbGxvY19pdmNwdShzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpCiB7CiAJc3RydWN0IGt2bWlf dmNwdSAqaXZjcHU7CkBAIC0yNDUsNiArMjUxLDkgQEAgaW50IGt2bWlfdmNwdV9pbml0KHN0cnVj dCBrdm1fdmNwdSAqdmNwdSkKIAkJZ290byBvdXQ7CiAJfQogCisJaWYgKGt2bWlfYWRkX2pvYih2 Y3B1LCBrdm1pX2pvYl9jcmVhdGVfdmNwdSwgTlVMTCwgTlVMTCkpCisJCXJldCA9IC1FTk9NRU07 CisKIG91dDoKIAlrdm1pX3B1dCh2Y3B1LT5rdm0pOwogCkBAIC0zMzAsNiArMzM5LDEwIEBAIGlu dCBrdm1pX2hvb2soc3RydWN0IGt2bSAqa3ZtLCBjb25zdCBzdHJ1Y3Qga3ZtX2ludHJvc3BlY3Rp b24gKnFlbXUpCiAJCQllcnIgPSAtRU5PTUVNOwogCQkJZ290byBlcnJfYWxsb2M7CiAJCX0KKwkJ aWYgKGt2bWlfYWRkX2pvYih2Y3B1LCBrdm1pX2pvYl9jcmVhdGVfdmNwdSwgTlVMTCwgTlVMTCkp IHsKKwkJCWVyciA9IC1FTk9NRU07CisJCQlnb3RvIGVycl9hbGxvYzsKKwkJfQogCX0KIAogCS8q IGludGVyYWN0IHdpdGggb3RoZXIga2VybmVsIGNvbXBvbmVudHMgYWZ0ZXIgc3RydWN0dXJlIGFs bG9jYXRpb24gKi8KQEAgLTU1MSw2ICs1NjQsNDAgQEAgdm9pZCBrdm1pX2hhbmRsZV9jb21tb25f ZXZlbnRfYWN0aW9ucyhzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUsIHUzMiBhY3Rpb24sCiAJfQogfQog CitzdGF0aWMgYm9vbCBfX2t2bWlfY3JlYXRlX3ZjcHVfZXZlbnQoc3RydWN0IGt2bV92Y3B1ICp2 Y3B1KQoreworCXUzMiBhY3Rpb247CisJYm9vbCByZXQgPSBmYWxzZTsKKworCWFjdGlvbiA9IGt2 bWlfbXNnX3NlbmRfY3JlYXRlX3ZjcHUodmNwdSk7CisJc3dpdGNoIChhY3Rpb24pIHsKKwljYXNl IEtWTUlfRVZFTlRfQUNUSU9OX0NPTlRJTlVFOgorCQlyZXQgPSB0cnVlOworCQlicmVhazsKKwlk ZWZhdWx0OgorCQlrdm1pX2hhbmRsZV9jb21tb25fZXZlbnRfYWN0aW9ucyh2Y3B1LCBhY3Rpb24s ICJDUkVBVEUiKTsKKwl9CisKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgYm9vbCBrdm1pX2Ny ZWF0ZV92Y3B1X2V2ZW50KHN0cnVjdCBrdm1fdmNwdSAqdmNwdSkKK3sKKwlzdHJ1Y3Qga3ZtaSAq aWt2bTsKKwlib29sIHJldCA9IHRydWU7CisKKwlpa3ZtID0ga3ZtaV9nZXQodmNwdS0+a3ZtKTsK KwlpZiAoIWlrdm0pCisJCXJldHVybiB0cnVlOworCisJaWYgKHRlc3RfYml0KEtWTUlfRVZFTlRf Q1JFQVRFX1ZDUFUsIGlrdm0tPnZtX2V2X21hc2spKQorCQlyZXQgPSBfX2t2bWlfY3JlYXRlX3Zj cHVfZXZlbnQodmNwdSk7CisKKwlrdm1pX3B1dCh2Y3B1LT5rdm0pOworCisJcmV0dXJuIHJldDsK K30KKwogdm9pZCBrdm1pX3J1bl9qb2JzKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSkKIHsKIAlzdHJ1 Y3Qga3ZtaV92Y3B1ICppdmNwdSA9IElWQ1BVKHZjcHUpOwpkaWZmIC0tZ2l0IGEvdmlydC9rdm0v a3ZtaV9pbnQuaCBiL3ZpcnQva3ZtL2t2bWlfaW50LmgKaW5kZXggOTc1MGE5Yjk5MDJiLi5jMjFm MGZkNWUxNmMgMTAwNjQ0Ci0tLSBhL3ZpcnQva3ZtL2t2bWlfaW50LmgKKysrIGIvdmlydC9rdm0v a3ZtaV9pbnQuaApAQCAtMTIzLDYgKzEyMyw3IEBAIGJvb2wga3ZtaV9zb2NrX2dldChzdHJ1Y3Qg a3ZtaSAqaWt2bSwgaW50IGZkKTsKIHZvaWQga3ZtaV9zb2NrX3NodXRkb3duKHN0cnVjdCBrdm1p ICppa3ZtKTsKIHZvaWQga3ZtaV9zb2NrX3B1dChzdHJ1Y3Qga3ZtaSAqaWt2bSk7CiBib29sIGt2 bWlfbXNnX3Byb2Nlc3Moc3RydWN0IGt2bWkgKmlrdm0pOwordTMyIGt2bWlfbXNnX3NlbmRfY3Jl YXRlX3ZjcHUoc3RydWN0IGt2bV92Y3B1ICp2Y3B1KTsKIGludCBrdm1pX21zZ19zZW5kX3VuaG9v ayhzdHJ1Y3Qga3ZtaSAqaWt2bSk7CiAKIC8qIGt2bWkuYyAqLwpkaWZmIC0tZ2l0IGEvdmlydC9r dm0va3ZtaV9tc2cuYyBiL3ZpcnQva3ZtL2t2bWlfbXNnLmMKaW5kZXggMGM3YzFlOTY4MDA3Li44 ZThhZjU3MmE0ZjQgMTAwNjQ0Ci0tLSBhL3ZpcnQva3ZtL2t2bWlfbXNnLmMKKysrIGIvdmlydC9r dm0va3ZtaV9tc2cuYwpAQCAtNzI1LDMgKzcyNSwxNSBAQCBpbnQga3ZtaV9tc2dfc2VuZF91bmhv b2soc3RydWN0IGt2bWkgKmlrdm0pCiAKIAlyZXR1cm4ga3ZtaV9zb2NrX3dyaXRlKGlrdm0sIHZl YywgbiwgbXNnX3NpemUpOwogfQorCit1MzIga3ZtaV9tc2dfc2VuZF9jcmVhdGVfdmNwdShzdHJ1 Y3Qga3ZtX3ZjcHUgKnZjcHUpCit7CisJaW50IGVyciwgYWN0aW9uOworCisJZXJyID0ga3ZtaV9z ZW5kX2V2ZW50KHZjcHUsIEtWTUlfRVZFTlRfQ1JFQVRFX1ZDUFUsIE5VTEwsIDAsCisJCQkgICAg ICBOVUxMLCAwLCAmYWN0aW9uKTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gS1ZNSV9FVkVOVF9BQ1RJ T05fQ09OVElOVUU7CisKKwlyZXR1cm4gYWN0aW9uOworfQpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpWaXJ0dWFsaXphdGlvbiBtYWlsaW5nIGxpc3QKVmly dHVhbGl6YXRpb25AbGlzdHMubGludXgtZm91bmRhdGlvbi5vcmcKaHR0cHM6Ly9saXN0cy5saW51 eGZvdW5kYXRpb24ub3JnL21haWxtYW4vbGlzdGluZm8vdmlydHVhbGl6YXRpb24=