From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH v3.1 06/15] xen/x86: split the setup of Dom0 permissions to a function Date: Sat, 29 Oct 2016 10:59:52 +0200 Message-ID: <1477731601-10926-7-git-send-email-roger.pau@citrix.com> References: <1477731601-10926-1-git-send-email-roger.pau@citrix.com> 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 1c0PV7-0001tF-JL for xen-devel@lists.xenproject.org; Sat, 29 Oct 2016 09:00:29 +0000 In-Reply-To: <1477731601-10926-1-git-send-email-roger.pau@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com Cc: Andrew Cooper , Jan Beulich , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org U28gdGhhdCBpdCBjYW4gYWxzbyBiZSB1c2VkIGJ5IHRoZSBQVkgtc3BlY2lmaWMgZG9tYWluIGJ1 aWxkZXIuIFRoaXMgaXMganVzdApjb2RlIG1vdGlvbiwgaXQgc2hvdWxkIG5vdCBpbnRyb2R1Y2Ug YW55IGZ1bmN0aW9uYWwgY2hhbmdlLgoKU2lnbmVkLW9mZi1ieTogUm9nZXIgUGF1IE1vbm7DqSA8 cm9nZXIucGF1QGNpdHJpeC5jb20+Ci0tLQpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2Uu Y29tPgpDYzogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0tCkNo YW5nZXMgc2luY2UgdjI6CiAtIEZpeCBjb21tZW50IHN0eWxlLgogLSBDb252ZXJ0IGkgdG8gdW5z aWduZWQgaW50LgogLSBSZXN0b3JlIHByZXZpb3VzIEJVR19PTiBpbiBjYXNlIG9mIGZhaWx1cmUg KGluc3RlYWQgb2YgcGFuaWMpLgogLSBSZW1vdmUgdW5uZWVkZWQgcmMgaW5pdGlhbGl6ZXIuCi0t LQogeGVuL2FyY2gveDg2L2RvbWFpbl9idWlsZC5jIHwgMTYwICsrKysrKysrKysrKysrKysrKysr KysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgODMgaW5zZXJ0aW9ucygr KSwgNzcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2RvbWFpbl9idWls ZC5jIGIveGVuL2FyY2gveDg2L2RvbWFpbl9idWlsZC5jCmluZGV4IDE3ZjhlOTEuLjFlNTU3Yjkg MTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9kb21haW5fYnVpbGQuYworKysgYi94ZW4vYXJjaC94 ODYvZG9tYWluX2J1aWxkLmMKQEAgLTg2OSw2ICs4NjksODggQEAgc3RhdGljIF9faW5pdCB2b2lk IHNldHVwX3B2X3BoeXNtYXAoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBwZ3RibF9w Zm4sCiAgICAgdW5tYXBfZG9tYWluX3BhZ2UobDRzdGFydCk7CiB9CiAKK3N0YXRpYyBpbnQgX19p bml0IHNldHVwX3Blcm1pc3Npb25zKHN0cnVjdCBkb21haW4gKmQpCit7CisgICAgdW5zaWduZWQg bG9uZyBtZm47CisgICAgdW5zaWduZWQgaW50IGk7CisgICAgaW50IHJjOworCisgICAgLyogVGhl IGhhcmR3YXJlIGRvbWFpbiBpcyBpbml0aWFsbHkgcGVybWl0dGVkIGZ1bGwgSS9PIGNhcGFiaWxp dGllcy4gKi8KKyAgICByYyA9IGlvcG9ydHNfcGVybWl0X2FjY2VzcyhkLCAwLCAweEZGRkYpOwor ICAgIHJjIHw9IGlvbWVtX3Blcm1pdF9hY2Nlc3MoZCwgMFVMLCAoMVVMIDw8IChwYWRkcl9iaXRz IC0gUEFHRV9TSElGVCkpIC0gMSk7CisgICAgcmMgfD0gaXJxc19wZXJtaXRfYWNjZXNzKGQsIDEs IG5yX2lycXNfZ3NpIC0gMSk7CisKKyAgICAvKiBNb2RpZnkgSS9PIHBvcnQgYWNjZXNzIHBlcm1p c3Npb25zLiAqLworCisgICAgLyogTWFzdGVyIEludGVycnVwdCBDb250cm9sbGVyIChQSUMpLiAq LworICAgIHJjIHw9IGlvcG9ydHNfZGVueV9hY2Nlc3MoZCwgMHgyMCwgMHgyMSk7CisgICAgLyog U2xhdmUgSW50ZXJydXB0IENvbnRyb2xsZXIgKFBJQykuICovCisgICAgcmMgfD0gaW9wb3J0c19k ZW55X2FjY2VzcyhkLCAweEEwLCAweEExKTsKKyAgICAvKiBJbnRlcnZhbCBUaW1lciAoUElUKS4g Ki8KKyAgICByYyB8PSBpb3BvcnRzX2RlbnlfYWNjZXNzKGQsIDB4NDAsIDB4NDMpOworICAgIC8q IFBJVCBDaGFubmVsIDIgLyBQQyBTcGVha2VyIENvbnRyb2wuICovCisgICAgcmMgfD0gaW9wb3J0 c19kZW55X2FjY2VzcyhkLCAweDYxLCAweDYxKTsKKyAgICAvKiBBQ1BJIFBNIFRpbWVyLiAqLwor ICAgIGlmICggcG10bXJfaW9wb3J0ICkKKyAgICAgICAgcmMgfD0gaW9wb3J0c19kZW55X2FjY2Vz cyhkLCBwbXRtcl9pb3BvcnQsIHBtdG1yX2lvcG9ydCArIDMpOworICAgIC8qIFBDSSBjb25maWd1 cmF0aW9uIHNwYWNlIChOQi4gMHhjZjggaGFzIHNwZWNpYWwgdHJlYXRtZW50KS4gKi8KKyAgICBy YyB8PSBpb3BvcnRzX2RlbnlfYWNjZXNzKGQsIDB4Y2ZjLCAweGNmZik7CisgICAgLyogQ29tbWFu ZC1saW5lIEkvTyByYW5nZXMuICovCisgICAgcHJvY2Vzc19kb20wX2lvcG9ydHNfZGlzYWJsZShk KTsKKworICAgIC8qIE1vZGlmeSBJL08gbWVtb3J5IGFjY2VzcyBwZXJtaXNzaW9ucy4gKi8KKwor ICAgIC8qIExvY2FsIEFQSUMuICovCisgICAgaWYgKCBtcF9sYXBpY19hZGRyICE9IDAgKQorICAg IHsKKyAgICAgICAgbWZuID0gcGFkZHJfdG9fcGZuKG1wX2xhcGljX2FkZHIpOworICAgICAgICBy YyB8PSBpb21lbV9kZW55X2FjY2VzcyhkLCBtZm4sIG1mbik7CisgICAgfQorICAgIC8qIEkvTyBB UElDcy4gKi8KKyAgICBmb3IgKCBpID0gMDsgaSA8IG5yX2lvYXBpY3M7IGkrKyApCisgICAgewor ICAgICAgICBtZm4gPSBwYWRkcl90b19wZm4obXBfaW9hcGljc1tpXS5tcGNfYXBpY2FkZHIpOwor ICAgICAgICBpZiAoICFyYW5nZXNldF9jb250YWluc19zaW5nbGV0b24obW1pb19yb19yYW5nZXMs IG1mbikgKQorICAgICAgICAgICAgcmMgfD0gaW9tZW1fZGVueV9hY2Nlc3MoZCwgbWZuLCBtZm4p OworICAgIH0KKyAgICAvKiBNU0kgcmFuZ2UuICovCisgICAgcmMgfD0gaW9tZW1fZGVueV9hY2Nl c3MoZCwgcGFkZHJfdG9fcGZuKE1TSV9BRERSX0JBU0VfTE8pLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHBhZGRyX3RvX3BmbihNU0lfQUREUl9CQVNFX0xPICsKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTVNJX0FERFJfREVTVF9JRF9NQVNLKSk7CisgICAg LyogSHlwZXJUcmFuc3BvcnQgcmFuZ2UuICovCisgICAgaWYgKCBib290X2NwdV9kYXRhLng4Nl92 ZW5kb3IgPT0gWDg2X1ZFTkRPUl9BTUQgKQorICAgICAgICByYyB8PSBpb21lbV9kZW55X2FjY2Vz cyhkLCBwYWRkcl90b19wZm4oMHhmZFVMTCA8PCAzMiksCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHBhZGRyX3RvX3BmbigoMVVMTCA8PCA0MCkgLSAxKSk7CisKKyAgICAvKiBSZW1v dmUgYWNjZXNzIHRvIEU4MjBfVU5VU0FCTEUgSS9PIHJlZ2lvbnMgYWJvdmUgMU1CLiAqLworICAg IGZvciAoIGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKyApCisgICAgeworICAgICAgICB1bnNp Z25lZCBsb25nIHNmbiwgZWZuOworICAgICAgICBzZm4gPSBtYXhfdCh1bnNpZ25lZCBsb25nLCBw YWRkcl90b19wZm4oZTgyMC5tYXBbaV0uYWRkciksIDB4MTAwdWwpOworICAgICAgICBlZm4gPSBw YWRkcl90b19wZm4oZTgyMC5tYXBbaV0uYWRkciArIGU4MjAubWFwW2ldLnNpemUgLSAxKTsKKyAg ICAgICAgaWYgKCAoZTgyMC5tYXBbaV0udHlwZSA9PSBFODIwX1VOVVNBQkxFKSAmJgorICAgICAg ICAgICAgIChlODIwLm1hcFtpXS5zaXplICE9IDApICYmCisgICAgICAgICAgICAgKHNmbiA8PSBl Zm4pICkKKyAgICAgICAgICAgIHJjIHw9IGlvbWVtX2RlbnlfYWNjZXNzKGQsIHNmbiwgZWZuKTsK KyAgICB9CisKKyAgICAvKiBQcmV2ZW50IGFjY2VzcyB0byBIUEVUICovCisgICAgaWYgKCBocGV0 X2FkZHJlc3MgKQorICAgIHsKKyAgICAgICAgdTggcHJvdF9mbGFncyA9IGhwZXRfZmxhZ3MgJiBB Q1BJX0hQRVRfUEFHRV9QUk9URUNUX01BU0s7CisKKyAgICAgICAgbWZuID0gcGFkZHJfdG9fcGZu KGhwZXRfYWRkcmVzcyk7CisgICAgICAgIGlmICggcHJvdF9mbGFncyA9PSBBQ1BJX0hQRVRfUEFH RV9QUk9URUNUNCApCisgICAgICAgICAgICByYyB8PSBpb21lbV9kZW55X2FjY2VzcyhkLCBtZm4s IG1mbik7CisgICAgICAgIGVsc2UgaWYgKCBwcm90X2ZsYWdzID09IEFDUElfSFBFVF9QQUdFX1BS T1RFQ1Q2NCApCisgICAgICAgICAgICByYyB8PSBpb21lbV9kZW55X2FjY2VzcyhkLCBtZm4sIG1m biArIDE1KTsKKyAgICAgICAgZWxzZSBpZiAoIHJvX2hwZXQgKQorICAgICAgICAgICAgcmMgfD0g cmFuZ2VzZXRfYWRkX3NpbmdsZXRvbihtbWlvX3JvX3JhbmdlcywgbWZuKTsKKyAgICB9CisKKyAg ICByZXR1cm4gcmM7Cit9CisKIGludCBfX2luaXQgY29uc3RydWN0X2RvbTAoCiAgICAgc3RydWN0 IGRvbWFpbiAqZCwKICAgICBjb25zdCBtb2R1bGVfdCAqaW1hZ2UsIHVuc2lnbmVkIGxvbmcgaW1h Z2VfaGVhZHJvb20sCkBAIC0xNTM5LDgzICsxNjIxLDcgQEAgaW50IF9faW5pdCBjb25zdHJ1Y3Rf ZG9tMCgKICAgICBpZiAoIHRlc3RfYml0KFhFTkZFQVRfc3VwZXJ2aXNvcl9tb2RlX2tlcm5lbCwg cGFybXMuZl9yZXF1aXJlZCkgKQogICAgICAgICBwYW5pYygiRG9tMCByZXF1aXJlcyBzdXBlcnZp c29yLW1vZGUgZXhlY3V0aW9uIik7CiAKLSAgICByYyA9IDA7Ci0KLSAgICAvKiBUaGUgaGFyZHdh cmUgZG9tYWluIGlzIGluaXRpYWxseSBwZXJtaXR0ZWQgZnVsbCBJL08gY2FwYWJpbGl0aWVzLiAq LwotICAgIHJjIHw9IGlvcG9ydHNfcGVybWl0X2FjY2VzcyhkLCAwLCAweEZGRkYpOwotICAgIHJj IHw9IGlvbWVtX3Blcm1pdF9hY2Nlc3MoZCwgMFVMLCAoMVVMIDw8IChwYWRkcl9iaXRzIC0gUEFH RV9TSElGVCkpIC0gMSk7Ci0gICAgcmMgfD0gaXJxc19wZXJtaXRfYWNjZXNzKGQsIDEsIG5yX2ly cXNfZ3NpIC0gMSk7Ci0KLSAgICAvKgotICAgICAqIE1vZGlmeSBJL08gcG9ydCBhY2Nlc3MgcGVy bWlzc2lvbnMuCi0gICAgICovCi0gICAgLyogTWFzdGVyIEludGVycnVwdCBDb250cm9sbGVyIChQ SUMpLiAqLwotICAgIHJjIHw9IGlvcG9ydHNfZGVueV9hY2Nlc3MoZCwgMHgyMCwgMHgyMSk7Ci0g ICAgLyogU2xhdmUgSW50ZXJydXB0IENvbnRyb2xsZXIgKFBJQykuICovCi0gICAgcmMgfD0gaW9w b3J0c19kZW55X2FjY2VzcyhkLCAweEEwLCAweEExKTsKLSAgICAvKiBJbnRlcnZhbCBUaW1lciAo UElUKS4gKi8KLSAgICByYyB8PSBpb3BvcnRzX2RlbnlfYWNjZXNzKGQsIDB4NDAsIDB4NDMpOwot ICAgIC8qIFBJVCBDaGFubmVsIDIgLyBQQyBTcGVha2VyIENvbnRyb2wuICovCi0gICAgcmMgfD0g aW9wb3J0c19kZW55X2FjY2VzcyhkLCAweDYxLCAweDYxKTsKLSAgICAvKiBBQ1BJIFBNIFRpbWVy LiAqLwotICAgIGlmICggcG10bXJfaW9wb3J0ICkKLSAgICAgICAgcmMgfD0gaW9wb3J0c19kZW55 X2FjY2VzcyhkLCBwbXRtcl9pb3BvcnQsIHBtdG1yX2lvcG9ydCArIDMpOwotICAgIC8qIFBDSSBj b25maWd1cmF0aW9uIHNwYWNlIChOQi4gMHhjZjggaGFzIHNwZWNpYWwgdHJlYXRtZW50KS4gKi8K LSAgICByYyB8PSBpb3BvcnRzX2RlbnlfYWNjZXNzKGQsIDB4Y2ZjLCAweGNmZik7Ci0gICAgLyog Q29tbWFuZC1saW5lIEkvTyByYW5nZXMuICovCi0gICAgcHJvY2Vzc19kb20wX2lvcG9ydHNfZGlz YWJsZShkKTsKLQotICAgIC8qCi0gICAgICogTW9kaWZ5IEkvTyBtZW1vcnkgYWNjZXNzIHBlcm1p c3Npb25zLgotICAgICAqLwotICAgIC8qIExvY2FsIEFQSUMuICovCi0gICAgaWYgKCBtcF9sYXBp Y19hZGRyICE9IDAgKQotICAgIHsKLSAgICAgICAgbWZuID0gcGFkZHJfdG9fcGZuKG1wX2xhcGlj X2FkZHIpOwotICAgICAgICByYyB8PSBpb21lbV9kZW55X2FjY2VzcyhkLCBtZm4sIG1mbik7Ci0g ICAgfQotICAgIC8qIEkvTyBBUElDcy4gKi8KLSAgICBmb3IgKCBpID0gMDsgaSA8IG5yX2lvYXBp Y3M7IGkrKyApCi0gICAgewotICAgICAgICBtZm4gPSBwYWRkcl90b19wZm4obXBfaW9hcGljc1tp XS5tcGNfYXBpY2FkZHIpOwotICAgICAgICBpZiAoICFyYW5nZXNldF9jb250YWluc19zaW5nbGV0 b24obW1pb19yb19yYW5nZXMsIG1mbikgKQotICAgICAgICAgICAgcmMgfD0gaW9tZW1fZGVueV9h Y2Nlc3MoZCwgbWZuLCBtZm4pOwotICAgIH0KLSAgICAvKiBNU0kgcmFuZ2UuICovCi0gICAgcmMg fD0gaW9tZW1fZGVueV9hY2Nlc3MoZCwgcGFkZHJfdG9fcGZuKE1TSV9BRERSX0JBU0VfTE8pLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRyX3RvX3BmbihNU0lfQUREUl9CQVNFX0xP ICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTVNJX0FERFJfREVT VF9JRF9NQVNLKSk7Ci0gICAgLyogSHlwZXJUcmFuc3BvcnQgcmFuZ2UuICovCi0gICAgaWYgKCBi b290X2NwdV9kYXRhLng4Nl92ZW5kb3IgPT0gWDg2X1ZFTkRPUl9BTUQgKQotICAgICAgICByYyB8 PSBpb21lbV9kZW55X2FjY2VzcyhkLCBwYWRkcl90b19wZm4oMHhmZFVMTCA8PCAzMiksCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRyX3RvX3BmbigoMVVMTCA8PCA0MCkgLSAx KSk7Ci0KLSAgICAvKiBSZW1vdmUgYWNjZXNzIHRvIEU4MjBfVU5VU0FCTEUgSS9PIHJlZ2lvbnMg YWJvdmUgMU1CLiAqLwotICAgIGZvciAoIGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKyApCi0g ICAgewotICAgICAgICB1bnNpZ25lZCBsb25nIHNmbiwgZWZuOwotICAgICAgICBzZm4gPSBtYXhf dCh1bnNpZ25lZCBsb25nLCBwYWRkcl90b19wZm4oZTgyMC5tYXBbaV0uYWRkciksIDB4MTAwdWwp OwotICAgICAgICBlZm4gPSBwYWRkcl90b19wZm4oZTgyMC5tYXBbaV0uYWRkciArIGU4MjAubWFw W2ldLnNpemUgLSAxKTsKLSAgICAgICAgaWYgKCAoZTgyMC5tYXBbaV0udHlwZSA9PSBFODIwX1VO VVNBQkxFKSAmJgotICAgICAgICAgICAgIChlODIwLm1hcFtpXS5zaXplICE9IDApICYmCi0gICAg ICAgICAgICAgKHNmbiA8PSBlZm4pICkKLSAgICAgICAgICAgIHJjIHw9IGlvbWVtX2RlbnlfYWNj ZXNzKGQsIHNmbiwgZWZuKTsKLSAgICB9Ci0KLSAgICAvKiBQcmV2ZW50IGFjY2VzcyB0byBIUEVU ICovCi0gICAgaWYgKCBocGV0X2FkZHJlc3MgKQotICAgIHsKLSAgICAgICAgdTggcHJvdF9mbGFn cyA9IGhwZXRfZmxhZ3MgJiBBQ1BJX0hQRVRfUEFHRV9QUk9URUNUX01BU0s7Ci0KLSAgICAgICAg bWZuID0gcGFkZHJfdG9fcGZuKGhwZXRfYWRkcmVzcyk7Ci0gICAgICAgIGlmICggcHJvdF9mbGFn cyA9PSBBQ1BJX0hQRVRfUEFHRV9QUk9URUNUNCApCi0gICAgICAgICAgICByYyB8PSBpb21lbV9k ZW55X2FjY2VzcyhkLCBtZm4sIG1mbik7Ci0gICAgICAgIGVsc2UgaWYgKCBwcm90X2ZsYWdzID09 IEFDUElfSFBFVF9QQUdFX1BST1RFQ1Q2NCApCi0gICAgICAgICAgICByYyB8PSBpb21lbV9kZW55 X2FjY2VzcyhkLCBtZm4sIG1mbiArIDE1KTsKLSAgICAgICAgZWxzZSBpZiAoIHJvX2hwZXQgKQot ICAgICAgICAgICAgcmMgfD0gcmFuZ2VzZXRfYWRkX3NpbmdsZXRvbihtbWlvX3JvX3Jhbmdlcywg bWZuKTsKLSAgICB9Ci0KKyAgICByYyA9IHNldHVwX3Blcm1pc3Npb25zKGQpOwogICAgIEJVR19P TihyYyAhPSAwKTsKIAogICAgIGlmICggZWxmX2NoZWNrX2Jyb2tlbigmZWxmKSApCi0tIAoyLjcu NCAoQXBwbGUgR2l0LTY2KQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcK aHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=