From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexandru Isaila Subject: [PATCH v7] x86/hvm: Allow guest_request vm_events coming from userspace Date: Mon, 28 Aug 2017 12:38:46 +0300 Message-ID: <1503913126-13546-1-git-send-email-aisaila@bitdefender.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: sstabellini@kernel.org, wei.liu2@citrix.com, rcojocaru@bitdefender.com, George.Dunlap@eu.citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, tim@xen.org, julien.grall@arm.com, tamas@tklengyel.com, jbeulich@suse.com, Alexandru Isaila List-Id: xen-devel@lists.xenproject.org SW4gc29tZSBpbnRyb3NwZWN0aW9uIHVzZWNhc2VzLCBhbiBpbi1ndWVzdCBhZ2VudCBuZWVkcyB0 byBjb21tdW5pY2F0ZQp3aXRoIHRoZSBleHRlcm5hbCBpbnRyb3NwZWN0aW9uIGFnZW50LiAgQW4g ZXhpc3RpbmcgbWVjaGFuaXNtIGlzCkhWTU9QX2d1ZXN0X3JlcXVlc3Rfdm1fZXZlbnQsIGJ1dCB0 aGlzIGlzIHJlc3RyaWN0ZWQgdG8ga2VybmVsIHVzZWNhc2VzCmxpa2UgYWxsIG90aGVyIGh5cGVy Y2FsbHMuCgpJbnRyb2R1Y2UgYSBtZWNoYW5pc20gd2hlcmVieSB0aGUgaW50cm9zcGVjdGlvbiBh Z2VudCBjYW4gd2hpdGVsaXN0IHRoZQp1c2Ugb2YgSFZNT1BfZ3Vlc3RfcmVxdWVzdF92bV9ldmVu dCBkaXJlY3RseSBmcm9tIHVzZXJzcGFjZS4KClNpZ25lZC1vZmYtYnk6IEFsZXhhbmRydSBJc2Fp bGEgPGFpc2FpbGFAYml0ZGVmZW5kZXIuY29tPgoKLS0tCkNoYW5nZXMgc2luY2UgVjY6CgktIEFk ZGVkIGFyY2ggc3BlY2lmaWMgZnVuY3Rpb24gaW4gYm90aCB4ODYgbW9uaXRvciBhbmQgYXJtCgkg IG1vbml0b3IgdG8gcmVwbGFjZSB0aGUgYXNzaWdubWVudCBmcm9tIGNvbW1vbiBtb25pdG9yCgpO b3RlOiBDb3VsZCBub3QgdGVzdCBvbiBBUk4sIGNvbXBpbGVkIGJvdGggb24gYXJtIGFuZCB4ODYK LS0tCiB0b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaCB8ICAyICstCiB0b29scy9saWJ4Yy94 Y19tb25pdG9yLmMgICAgICB8ICAzICsrLQogeGVuL2FyY2gveDg2L2h2bS9oeXBlcmNhbGwuYyAg fCAgNSArKysrKwogeGVuL2NvbW1vbi9tb25pdG9yLmMgICAgICAgICAgfCAgMSArCiB4ZW4vaW5j bHVkZS9hc20tYXJtL21vbml0b3IuaCB8ICA2ICsrKysrKwogeGVuL2luY2x1ZGUvYXNtLXg4Ni9k b21haW4uaCAgfCAxOSArKysrKysrKysrLS0tLS0tLS0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L21v bml0b3IuaCB8ICA2ICsrKysrKwogeGVuL2luY2x1ZGUvcHVibGljL2RvbWN0bC5oICAgfCAgMSAr CiA4IGZpbGVzIGNoYW5nZWQsIDMyIGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oIGIvdG9vbHMvbGlieGMvaW5j bHVkZS94ZW5jdHJsLmgKaW5kZXggYmRlODMxMy4uYTNkMDkyOSAxMDA2NDQKLS0tIGEvdG9vbHMv bGlieGMvaW5jbHVkZS94ZW5jdHJsLmgKKysrIGIvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJs LmgKQEAgLTIwMjEsNyArMjAyMSw3IEBAIGludCB4Y19tb25pdG9yX3NvZnR3YXJlX2JyZWFrcG9p bnQoeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9tYWluX2lkLAogaW50IHhjX21vbml0b3Jf ZGVzY3JpcHRvcl9hY2Nlc3MoeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9tYWluX2lkLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBlbmFibGUpOwogaW50IHhjX21v bml0b3JfZ3Vlc3RfcmVxdWVzdCh4Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRfdCBkb21haW5faWQs Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgZW5hYmxlLCBib29sIHN5bmMpOwor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGVuYWJsZSwgYm9vbCBzeW5jLCBib29s IGFsbG93X3VzZXJzcGFjZSk7CiBpbnQgeGNfbW9uaXRvcl9kZWJ1Z19leGNlcHRpb25zKHhjX2lu dGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbWFpbl9pZCwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYm9vbCBlbmFibGUsIGJvb2wgc3luYyk7CiBpbnQgeGNfbW9uaXRvcl9jcHVpZCh4 Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRfdCBkb21haW5faWQsIGJvb2wgZW5hYmxlKTsKZGlmZiAt LWdpdCBhL3Rvb2xzL2xpYnhjL3hjX21vbml0b3IuYyBiL3Rvb2xzL2xpYnhjL3hjX21vbml0b3Iu YwppbmRleCBiNDRjZTkzLi5hNjc3ODIwIDEwMDY0NAotLS0gYS90b29scy9saWJ4Yy94Y19tb25p dG9yLmMKKysrIGIvdG9vbHMvbGlieGMveGNfbW9uaXRvci5jCkBAIC0xNDcsNyArMTQ3LDcgQEAg aW50IHhjX21vbml0b3JfZGVzY3JpcHRvcl9hY2Nlc3MoeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlk X3QgZG9tYWluX2lkLAogfQogCiBpbnQgeGNfbW9uaXRvcl9ndWVzdF9yZXF1ZXN0KHhjX2ludGVy ZmFjZSAqeGNoLCBkb21pZF90IGRvbWFpbl9pZCwgYm9vbCBlbmFibGUsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJvb2wgc3luYykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ym9vbCBzeW5jLCBib29sIGFsbG93X3VzZXJzcGFjZSkKIHsKICAgICBERUNMQVJFX0RPTUNUTDsK IApAQCAtMTU3LDYgKzE1Nyw3IEBAIGludCB4Y19tb25pdG9yX2d1ZXN0X3JlcXVlc3QoeGNfaW50 ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9tYWluX2lkLCBib29sIGVuYWJsZSwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDogWEVOX0RPTUNUTF9NT05JVE9SX09QX0RJU0FCTEU7 CiAgICAgZG9tY3RsLnUubW9uaXRvcl9vcC5ldmVudCA9IFhFTl9ET01DVExfTU9OSVRPUl9FVkVO VF9HVUVTVF9SRVFVRVNUOwogICAgIGRvbWN0bC51Lm1vbml0b3Jfb3AudS5ndWVzdF9yZXF1ZXN0 LnN5bmMgPSBzeW5jOworICAgIGRvbWN0bC51Lm1vbml0b3Jfb3AudS5ndWVzdF9yZXF1ZXN0LmFs bG93X3VzZXJzcGFjZSA9IGVuYWJsZSA/IGFsbG93X3VzZXJzcGFjZSA6IGZhbHNlOwogCiAgICAg cmV0dXJuIGRvX2RvbWN0bCh4Y2gsICZkb21jdGwpOwogfQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gv eDg2L2h2bS9oeXBlcmNhbGwuYyBiL3hlbi9hcmNoL3g4Ni9odm0vaHlwZXJjYWxsLmMKaW5kZXgg ZTcyMzhjZS4uNTc0MmRkMSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9oeXBlcmNhbGwu YworKysgYi94ZW4vYXJjaC94ODYvaHZtL2h5cGVyY2FsbC5jCkBAIC0xNTUsNiArMTU1LDExIEBA IGludCBodm1faHlwZXJjYWxsKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAgICAgICAv KiBGYWxsdGhyb3VnaCB0byBwZXJtaXNzaW9uIGNoZWNrLiAqLwogICAgIGNhc2UgNDoKICAgICBj YXNlIDI6CisgICAgICAgIGlmICggY3VycmQtPmFyY2gubW9uaXRvci5ndWVzdF9yZXF1ZXN0X3Vz ZXJzcGFjZV9lbmFibGVkICYmCisgICAgICAgICAgICBlYXggPT0gX19IWVBFUlZJU09SX2h2bV9v cCAmJgorICAgICAgICAgICAgKG1vZGUgPT0gOCA/IHJlZ3MtPnJkaSA6IHJlZ3MtPmVieCkgPT0g SFZNT1BfZ3Vlc3RfcmVxdWVzdF92bV9ldmVudCApCisgICAgICAgICAgICBicmVhazsKKwogICAg ICAgICBpZiAoIHVubGlrZWx5KGh2bV9nZXRfY3BsKGN1cnIpKSApCiAgICAgICAgIHsKICAgICBk ZWZhdWx0OgpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9tb25pdG9yLmMgYi94ZW4vY29tbW9uL21v bml0b3IuYwppbmRleCA0NTFmNDJmLi4wYzNlNjQ1IDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL21v bml0b3IuYworKysgYi94ZW4vY29tbW9uL21vbml0b3IuYwpAQCAtNzUsNiArNzUsNyBAQCBpbnQg bW9uaXRvcl9kb21jdGwoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHhlbl9kb21jdGxfbW9uaXRv cl9vcCAqbW9wKQogICAgICAgICBkb21haW5fcGF1c2UoZCk7CiAgICAgICAgIGQtPm1vbml0b3Iu Z3Vlc3RfcmVxdWVzdF9zeW5jID0gbW9wLT51Lmd1ZXN0X3JlcXVlc3Quc3luYzsKICAgICAgICAg ZC0+bW9uaXRvci5ndWVzdF9yZXF1ZXN0X2VuYWJsZWQgPSByZXF1ZXN0ZWRfc3RhdHVzOworICAg ICAgICBhcmNoX2FsbG93X3VzZXJzcGFjZSgmZC0+YXJjaCwgbW9wLT51Lmd1ZXN0X3JlcXVlc3Qu YWxsb3dfdXNlcnNwYWNlKTsKICAgICAgICAgZG9tYWluX3VucGF1c2UoZCk7CiAgICAgICAgIGJy ZWFrOwogICAgIH0KZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vbW9uaXRvci5oIGIv eGVuL2luY2x1ZGUvYXNtLWFybS9tb25pdG9yLmgKaW5kZXggMWM0ZmVhMy4uYTJlZWM1MiAxMDA2 NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFybS9tb25pdG9yLmgKKysrIGIveGVuL2luY2x1ZGUv YXNtLWFybS9tb25pdG9yLmgKQEAgLTI2LDYgKzI2LDEyIEBACiAjaW5jbHVkZSA8cHVibGljL2Rv bWN0bC5oPgogCiBzdGF0aWMgaW5saW5lCit2b2lkIGFyY2hfYWxsb3dfdXNlcnNwYWNlKHN0cnVj dCBhcmNoX2RvbWFpbiAqYXJjaCwgdWludDhfdCBhbGxvd191c2Vyc3BhY2UpCit7CisgICAgcmV0 dXJuOworfQorCitzdGF0aWMgaW5saW5lCiBpbnQgYXJjaF9tb25pdG9yX2RvbWN0bF9vcChzdHJ1 Y3QgZG9tYWluICpkLCBzdHJ1Y3QgeGVuX2RvbWN0bF9tb25pdG9yX29wICptb3ApCiB7CiAgICAg LyogTm8gYXJjaC1zcGVjaWZpYyBtb25pdG9yIG9wcyBvbiBBUk0uICovCmRpZmYgLS1naXQgYS94 ZW4vaW5jbHVkZS9hc20teDg2L2RvbWFpbi5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21haW4u aAppbmRleCBjMTA1MjJiLi5kZTAyNTA3IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2 L2RvbWFpbi5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvZG9tYWluLmgKQEAgLTM5NiwxNSAr Mzk2LDE2IEBAIHN0cnVjdCBhcmNoX2RvbWFpbgogCiAgICAgLyogQXJjaC1zcGVjaWZpYyBtb25p dG9yIG9wdGlvbnMgKi8KICAgICBzdHJ1Y3QgewotICAgICAgICB1bnNpZ25lZCBpbnQgd3JpdGVf Y3RybHJlZ19lbmFibGVkICAgICAgIDogNDsKLSAgICAgICAgdW5zaWduZWQgaW50IHdyaXRlX2N0 cmxyZWdfc3luYyAgICAgICAgICA6IDQ7Ci0gICAgICAgIHVuc2lnbmVkIGludCB3cml0ZV9jdHJs cmVnX29uY2hhbmdlb25seSAgOiA0OwotICAgICAgICB1bnNpZ25lZCBpbnQgc2luZ2xlc3RlcF9l bmFibGVkICAgICAgICAgIDogMTsKLSAgICAgICAgdW5zaWduZWQgaW50IHNvZnR3YXJlX2JyZWFr cG9pbnRfZW5hYmxlZCA6IDE7Ci0gICAgICAgIHVuc2lnbmVkIGludCBkZWJ1Z19leGNlcHRpb25f ZW5hYmxlZCAgICAgOiAxOwotICAgICAgICB1bnNpZ25lZCBpbnQgZGVidWdfZXhjZXB0aW9uX3N5 bmMgICAgICAgIDogMTsKLSAgICAgICAgdW5zaWduZWQgaW50IGNwdWlkX2VuYWJsZWQgICAgICAg ICAgICAgICA6IDE7Ci0gICAgICAgIHVuc2lnbmVkIGludCBkZXNjcmlwdG9yX2FjY2Vzc19lbmFi bGVkICAgOiAxOworICAgICAgICB1bnNpZ25lZCBpbnQgd3JpdGVfY3RybHJlZ19lbmFibGVkICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiA0OworICAgICAgICB1bnNpZ25lZCBpbnQg d3JpdGVfY3RybHJlZ19zeW5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiA0 OworICAgICAgICB1bnNpZ25lZCBpbnQgd3JpdGVfY3RybHJlZ19vbmNoYW5nZW9ubHkgICAgICAg ICAgICAgICAgICAgICAgICAgICAgOiA0OworICAgICAgICB1bnNpZ25lZCBpbnQgc2luZ2xlc3Rl cF9lbmFibGVkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxOworICAgICAg ICB1bnNpZ25lZCBpbnQgc29mdHdhcmVfYnJlYWtwb2ludF9lbmFibGVkICAgICAgICAgICAgICAg ICAgICAgICAgICAgOiAxOworICAgICAgICB1bnNpZ25lZCBpbnQgZGVidWdfZXhjZXB0aW9uX2Vu YWJsZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxOworICAgICAgICB1bnNpZ25l ZCBpbnQgZGVidWdfZXhjZXB0aW9uX3N5bmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgOiAxOworICAgICAgICB1bnNpZ25lZCBpbnQgY3B1aWRfZW5hYmxlZCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxOworICAgICAgICB1bnNpZ25lZCBpbnQgZGVz Y3JpcHRvcl9hY2Nlc3NfZW5hYmxlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxOwor ICAgICAgICB1bnNpZ25lZCBpbnQgZ3Vlc3RfcmVxdWVzdF91c2Vyc3BhY2VfZW5hYmxlZCAgICAg ICAgICAgICAgICAgICAgICAgOiAxOwogICAgICAgICBzdHJ1Y3QgbW9uaXRvcl9tc3JfYml0bWFw ICptc3JfYml0bWFwOwogICAgICAgICB1aW50NjRfdCB3cml0ZV9jdHJscmVnX21hc2tbNF07CiAg ICAgfSBtb25pdG9yOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9tb25pdG9yLmgg Yi94ZW4vaW5jbHVkZS9hc20teDg2L21vbml0b3IuaAppbmRleCBjNWMzMjNiLi5hODM0ZDgwIDEw MDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L21vbml0b3IuaAorKysgYi94ZW4vaW5jbHVk ZS9hc20teDg2L21vbml0b3IuaApAQCAtMzMsNiArMzMsMTIgQEAgc3RydWN0IG1vbml0b3JfbXNy X2JpdG1hcCB7CiB9OwogCiBzdGF0aWMgaW5saW5lCit2b2lkIGFyY2hfYWxsb3dfdXNlcnNwYWNl KHN0cnVjdCBhcmNoX2RvbWFpbiAqYXJjaCwgdWludDhfdCBhbGxvd191c2Vyc3BhY2UpCit7Cisg ICAgYXJjaC0+bW9uaXRvci5ndWVzdF9yZXF1ZXN0X3VzZXJzcGFjZV9lbmFibGVkID0gYWxsb3df dXNlcnNwYWNlOworfQorCitzdGF0aWMgaW5saW5lCiBpbnQgYXJjaF9tb25pdG9yX2RvbWN0bF9v cChzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgeGVuX2RvbWN0bF9tb25pdG9yX29wICptb3ApCiB7 CiAgICAgaW50IHJjID0gMDsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwu aCBiL3hlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaAppbmRleCBmZjM5NzYyLi41OTk3YzUyIDEw MDY0NAotLS0gYS94ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmgKKysrIGIveGVuL2luY2x1ZGUv cHVibGljL2RvbWN0bC5oCkBAIC0xMTI0LDYgKzExMjQsNyBAQCBzdHJ1Y3QgeGVuX2RvbWN0bF9t b25pdG9yX29wIHsKICAgICAgICAgc3RydWN0IHsKICAgICAgICAgICAgIC8qIFBhdXNlIHZDUFUg dW50aWwgcmVzcG9uc2UgKi8KICAgICAgICAgICAgIHVpbnQ4X3Qgc3luYzsKKyAgICAgICAgICAg IHVpbnQ4X3QgYWxsb3dfdXNlcnNwYWNlOwogICAgICAgICB9IGd1ZXN0X3JlcXVlc3Q7CiAKICAg ICAgICAgc3RydWN0IHsKLS0gCjIuNy40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMu eGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==