From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PULL 07/21] xen: use libxendevice model to restrict operations Date: Fri, 21 Apr 2017 13:14:48 -0700 Message-ID: <1492805702-19690-7-git-send-email-sstabellini@kernel.org> References: <1492805702-19690-1-git-send-email-sstabellini@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1ey6-0000at-Rw for xen-devel@lists.xenproject.org; Fri, 21 Apr 2017 20:15:50 +0000 In-Reply-To: <1492805702-19690-1-git-send-email-sstabellini@kernel.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: peter.maydell@linaro.org Cc: sstabellini@kernel.org, stefanha@gmail.com, qemu-devel@nongnu.org, Paul Durrant , stefanha@redhat.com, anthony.perard@citrix.com, xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org RnJvbTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNvbT4KClRoaXMgcGF0Y2gg YWRkcyBhIGNvbW1hbmQtbGluZSBvcHRpb24gKC14ZW4tZG9taWQtcmVzdHJpY3QpIHdoaWNoIHdp bGwKdXNlIHRoZSBuZXcgbGlieGVuZGV2aWNlbW9kZWwgQVBJIHRvIHJlc3RyaWN0IGRldmljZW1v ZGVsIFsxXSBvcGVyYXRpb25zCnRvIHRoZSBzcGVjaWZpZWQgZG9taWQuIChTdWNoIG9wZXJhdGlv bnMgYXJlIG5vdCBhcHBsaWNhYmxlIHRvIHRoZSB4ZW5wdgptYWNoaW5lIHR5cGUpLgoKVGhpcyBw YXRjaCBhbHNvIGFkZHMgYSB0cmFjZXBvaW50IHRvIGFsbG93IHN1Y2Nlc3NmdWwgZW5hYmxpbmcg b2YgdGhlCnJlc3RyaWN0aW9uIHRvIGJlIG1vbml0b3JlZC4KClsxXSBJLmUuIG9wZXJhdGlvbnMg aXNzdWVkIGJ5IGxpYnhlbmRldmljZW1vZGVsLiBPcGVyYXRpb24gaXNzdWVkIGJ5IG90aGVyCiAg ICB4ZW4gbGlicmFyaWVzIChlLmcuIGxpYnhlbmZvcmVpZ25tZW1vcnkpIGFyZSBjdXJyZW50bHkg c3RpbGwgdW5yZXN0cmljdGVkCiAgICBidXQgdGhpcyB3aWxsIGJlIHJlY3RpZmllZCBieSBzdWJz ZXF1ZW50IHBhdGNoZXMuCgpTaWduZWQtb2ZmLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWwuZHVycmFu dEBjaXRyaXguY29tPgpSZXZpZXdlZC1ieTogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGlu aUBrZXJuZWwub3JnPgotLS0KIGh3L3hlbi90cmFjZS1ldmVudHMgICAgICAgICB8ICAxICsKIGlu Y2x1ZGUvaHcveGVuL3hlbi5oICAgICAgICB8ICAxICsKIGluY2x1ZGUvaHcveGVuL3hlbl9jb21t b24uaCB8IDIwICsrKysrKysrKysrKysrKysrKysrCiBxZW11LW9wdGlvbnMuaHggICAgICAgICAg ICAgfCAgNyArKysrKysrCiB2bC5jICAgICAgICAgICAgICAgICAgICAgICAgfCAgOCArKysrKysr KwogeGVuLWh2bS5jICAgICAgICAgICAgICAgICAgIHwgIDggKysrKysrKysKIDYgZmlsZXMgY2hh bmdlZCwgNDUgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2h3L3hlbi90cmFjZS1ldmVudHMg Yi9ody94ZW4vdHJhY2UtZXZlbnRzCmluZGV4IGM0ZmI2ZjEuLjU2MTVkY2UgMTAwNjQ0Ci0tLSBh L2h3L3hlbi90cmFjZS1ldmVudHMKKysrIGIvaHcveGVuL3RyYWNlLWV2ZW50cwpAQCAtMTEsMyAr MTEsNCBAQCB4ZW5fbWFwX3BvcnRpb19yYW5nZSh1aW50MzJfdCBpZCwgdWludDY0X3Qgc3RhcnRf YWRkciwgdWludDY0X3QgZW5kX2FkZHIpICJpZDogJQogeGVuX3VubWFwX3BvcnRpb19yYW5nZSh1 aW50MzJfdCBpZCwgdWludDY0X3Qgc3RhcnRfYWRkciwgdWludDY0X3QgZW5kX2FkZHIpICJpZDog JXUgc3RhcnQ6ICUjIlBSSXg2NCIgZW5kOiAlIyJQUkl4NjQKIHhlbl9tYXBfcGNpZGV2KHVpbnQz Ml90IGlkLCB1aW50OF90IGJ1cywgdWludDhfdCBkZXYsIHVpbnQ4X3QgZnVuYykgImlkOiAldSBi ZGY6ICUwMnguJTAyeC4lMDJ4IgogeGVuX3VubWFwX3BjaWRldih1aW50MzJfdCBpZCwgdWludDhf dCBidXMsIHVpbnQ4X3QgZGV2LCB1aW50OF90IGZ1bmMpICJpZDogJXUgYmRmOiAlMDJ4LiUwMngu JTAyeCIKK3hlbl9kb21pZF9yZXN0cmljdChpbnQgZXJyKSAiZXJyOiAldSIKZGlmZiAtLWdpdCBh L2luY2x1ZGUvaHcveGVuL3hlbi5oIGIvaW5jbHVkZS9ody94ZW4veGVuLmgKaW5kZXggMmIxNzMz Yi4uN2VmY2RhYSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9ody94ZW4veGVuLmgKKysrIGIvaW5jbHVk ZS9ody94ZW4veGVuLmgKQEAgLTIxLDYgKzIxLDcgQEAgZW51bSB4ZW5fbW9kZSB7CiAKIGV4dGVy biB1aW50MzJfdCB4ZW5fZG9taWQ7CiBleHRlcm4gZW51bSB4ZW5fbW9kZSB4ZW5fbW9kZTsKK2V4 dGVybiBib29sIHhlbl9kb21pZF9yZXN0cmljdDsKIAogZXh0ZXJuIGJvb2wgeGVuX2FsbG93ZWQ7 CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvaHcveGVuL3hlbl9jb21tb24uaCBiL2luY2x1ZGUvaHcv eGVuL3hlbl9jb21tb24uaAppbmRleCBmYTk5MGEwLi4wZmNiYmE4IDEwMDY0NAotLS0gYS9pbmNs dWRlL2h3L3hlbi94ZW5fY29tbW9uLmgKKysrIGIvaW5jbHVkZS9ody94ZW4veGVuX2NvbW1vbi5o CkBAIC0xNTEsNiArMTUxLDEzIEBAIHN0YXRpYyBpbmxpbmUgaW50IHhlbmRldmljZW1vZGVsX3Nl dF9tZW1fdHlwZSgKICAgICByZXR1cm4geGNfaHZtX3NldF9tZW1fdHlwZShkbW9kLCBkb21pZCwg bWVtX3R5cGUsIGZpcnN0X3BmbiwgbnIpOwogfQogCitzdGF0aWMgaW5saW5lIGludCB4ZW5kZXZp Y2Vtb2RlbF9yZXN0cmljdCgKKyAgICB4ZW5kZXZpY2Vtb2RlbF9oYW5kbGUgKmRtb2QsIGRvbWlk X3QgZG9taWQpCit7CisgICAgZXJybm8gPSBFTk9UVFk7CisgICAgcmV0dXJuIC0xOworfQorCiAj ZWxzZSAvKiBDT05GSUdfWEVOX0NUUkxfSU5URVJGQUNFX1ZFUlNJT04gPj0gNDA5MDAgKi8KIAog I3VuZGVmIFhDX1dBTlRfQ09NUEFUX0RFVklDRU1PREVMX0FQSQpAQCAtMjA2LDYgKzIxMywxOSBA QCBzdGF0aWMgaW5saW5lIGludCB4ZW5fbW9kaWZpZWRfbWVtb3J5KGRvbWlkX3QgZG9taWQsIHVp bnQ2NF90IGZpcnN0X3BmbiwKICAgICByZXR1cm4geGVuZGV2aWNlbW9kZWxfbW9kaWZpZWRfbWVt b3J5KHhlbl9kbW9kLCBkb21pZCwgZmlyc3RfcGZuLCBucik7CiB9CiAKK3N0YXRpYyBpbmxpbmUg aW50IHhlbl9yZXN0cmljdChkb21pZF90IGRvbWlkKQoreworICAgIGludCByYyA9IHhlbmRldmlj ZW1vZGVsX3Jlc3RyaWN0KHhlbl9kbW9kLCBkb21pZCk7CisKKyAgICB0cmFjZV94ZW5fZG9taWRf cmVzdHJpY3QoZXJybm8pOworCisgICAgaWYgKGVycm5vID09IEVOT1RUWSkgeworICAgICAgICBy ZXR1cm4gMDsKKyAgICB9CisKKyAgICByZXR1cm4gcmM7Cit9CisKIC8qIFhlbiA0LjIgdGhyb3Vn aCA0LjYgKi8KICNpZiBDT05GSUdfWEVOX0NUUkxfSU5URVJGQUNFX1ZFUlNJT04gPCA0MDcwMQog CmRpZmYgLS1naXQgYS9xZW11LW9wdGlvbnMuaHggYi9xZW11LW9wdGlvbnMuaHgKaW5kZXggOTlh ZjhlZC4uMjA0MzM3MSAxMDA2NDQKLS0tIGEvcWVtdS1vcHRpb25zLmh4CisrKyBiL3FlbXUtb3B0 aW9ucy5oeApAQCAtMzM1NCw2ICszMzU0LDExIEBAIERFRigieGVuLWF0dGFjaCIsIDAsIFFFTVVf T1BUSU9OX3hlbl9hdHRhY2gsCiAgICAgIi14ZW4tYXR0YWNoICAgICBhdHRhY2ggdG8gZXhpc3Rp bmcgeGVuIGRvbWFpblxuIgogICAgICIgICAgICAgICAgICAgICAgeGVuZCB3aWxsIHVzZSB0aGlz IHdoZW4gc3RhcnRpbmcgUUVNVVxuIiwKICAgICBRRU1VX0FSQ0hfQUxMKQorREVGKCJ4ZW4tZG9t aWQtcmVzdHJpY3QiLCAwLCBRRU1VX09QVElPTl94ZW5fZG9taWRfcmVzdHJpY3QsCisgICAgIi14 ZW4tZG9taWQtcmVzdHJpY3QgICAgIHJlc3RyaWN0IHNldCBvZiBhdmFpbGFibGUgeGVuIG9wZXJh dGlvbnNcbiIKKyAgICAiICAgICAgICAgICAgICAgICAgICAgICAgdG8gc3BlY2lmaWVkIGRvbWFp biBpZC4gKERvZXMgbm90IGFmZmVjdFxuIgorICAgICIgICAgICAgICAgICAgICAgICAgICAgICB4 ZW5wdiBtYWNoaW5lIHR5cGUpLlxuIiwKKyAgICBRRU1VX0FSQ0hfQUxMKQogU1RFWEkKIEBpdGVt IC14ZW4tZG9taWQgQHZhcntpZH0KIEBmaW5kZXggLXhlbi1kb21pZApAQCAtMzM2Niw2ICszMzcx LDggQEAgV2FybmluZzogc2hvdWxkIG5vdCBiZSB1c2VkIHdoZW4geGVuZCBpcyBpbiB1c2UgKFhF TiBvbmx5KS4KIEBmaW5kZXggLXhlbi1hdHRhY2gKIEF0dGFjaCB0byBleGlzdGluZyB4ZW4gZG9t YWluLgogeGVuZCB3aWxsIHVzZSB0aGlzIHdoZW4gc3RhcnRpbmcgUUVNVSAoWEVOIG9ubHkpLgor QGZpbmRleCAteGVuLWRvbWlkLXJlc3RyaWN0CitSZXN0cmljdCBzZXQgb2YgYXZhaWxhYmxlIHhl biBvcGVyYXRpb25zIHRvIHNwZWNpZmllZCBkb21haW4gaWQgKFhFTiBvbmx5KS4KIEVURVhJCiAK IERFRigibm8tcmVib290IiwgMCwgUUVNVV9PUFRJT05fbm9fcmVib290LCBcCmRpZmYgLS1naXQg YS92bC5jIGIvdmwuYwppbmRleCAwYjRlZDUyLi5mNDZlMDcwIDEwMDY0NAotLS0gYS92bC5jCisr KyBiL3ZsLmMKQEAgLTIwNSw2ICsyMDUsNyBAQCBzdGF0aWMgTm90aWZpZXJMaXN0IG1hY2hpbmVf aW5pdF9kb25lX25vdGlmaWVycyA9CiBib29sIHhlbl9hbGxvd2VkOwogdWludDMyX3QgeGVuX2Rv bWlkOwogZW51bSB4ZW5fbW9kZSB4ZW5fbW9kZSA9IFhFTl9FTVVMQVRFOworYm9vbCB4ZW5fZG9t aWRfcmVzdHJpY3Q7CiAKIHN0YXRpYyBpbnQgaGFzX2RlZmF1bHRzID0gMTsKIHN0YXRpYyBpbnQg ZGVmYXVsdF9zZXJpYWwgPSAxOwpAQCAtMzkzMyw2ICszOTM0LDEzIEBAIGludCBtYWluKGludCBh cmdjLCBjaGFyICoqYXJndiwgY2hhciAqKmVudnApCiAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgIHhlbl9tb2RlID0gWEVOX0FUVEFDSDsKICAgICAgICAgICAgICAgICBicmVhazsK KyAgICAgICAgICAgIGNhc2UgUUVNVV9PUFRJT05feGVuX2RvbWlkX3Jlc3RyaWN0OgorICAgICAg ICAgICAgICAgIGlmICghKHhlbl9hdmFpbGFibGUoKSkpIHsKKyAgICAgICAgICAgICAgICAgICAg ZXJyb3JfcmVwb3J0KCJPcHRpb24gbm90IHN1cHBvcnRlZCBmb3IgdGhpcyB0YXJnZXQiKTsKKyAg ICAgICAgICAgICAgICAgICAgZXhpdCgxKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg ICAgICAgeGVuX2RvbWlkX3Jlc3RyaWN0ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBicmVhazsK ICAgICAgICAgICAgIGNhc2UgUUVNVV9PUFRJT05fdHJhY2U6CiAgICAgICAgICAgICAgICAgZ19m cmVlKHRyYWNlX2ZpbGUpOwogICAgICAgICAgICAgICAgIHRyYWNlX2ZpbGUgPSB0cmFjZV9vcHRf cGFyc2Uob3B0YXJnKTsKZGlmZiAtLWdpdCBhL3hlbi1odm0uYyBiL3hlbi1odm0uYwppbmRleCA0 YjkyOGNmLi4zMzVlMjYzIDEwMDY0NAotLS0gYS94ZW4taHZtLmMKKysrIGIveGVuLWh2bS5jCkBA IC0xMjI2LDYgKzEyMjYsMTQgQEAgdm9pZCB4ZW5faHZtX2luaXQoUENNYWNoaW5lU3RhdGUgKnBj bXMsIE1lbW9yeVJlZ2lvbiAqKnJhbV9tZW1vcnkpCiAgICAgICAgIGdvdG8gZXJyOwogICAgIH0K IAorICAgIGlmICh4ZW5fZG9taWRfcmVzdHJpY3QpIHsKKyAgICAgICAgcmMgPSB4ZW5fcmVzdHJp Y3QoeGVuX2RvbWlkKTsKKyAgICAgICAgaWYgKHJjIDwgMCkgeworICAgICAgICAgICAgZXJyb3Jf cmVwb3J0KCJmYWlsZWQgdG8gcmVzdHJpY3Q6IGVycm9yICVkIiwgZXJybm8pOworICAgICAgICAg ICAgZ290byBlcnI7CisgICAgICAgIH0KKyAgICB9CisKICAgICB4ZW5fY3JlYXRlX2lvcmVxX3Nl cnZlcih4ZW5fZG9taWQsICZzdGF0ZS0+aW9zZXJ2aWQpOwogCiAgICAgc3RhdGUtPmV4aXQubm90 aWZ5ID0geGVuX2V4aXRfbm90aWZpZXI7Ci0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRl dmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=