From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Vrabel Subject: [RFC PATCHv1] xen/privcmd: add IOCTL_PRIVCMD_RESTRICT_DOMID Date: Thu, 28 Jul 2016 17:13:19 +0100 Message-ID: <1469722399-12080-1-git-send-email-david.vrabel@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta14.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bSnw8-00043f-Rb for xen-devel@lists.xenproject.org; Thu, 28 Jul 2016 16:13:28 +0000 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 Cc: Juergen Gross , Boris Ostrovsky , David Vrabel List-Id: xen-devel@lists.xenproject.org VGhpcyByZXN0cmljdHMgdGhlIGZpbGUgZGVzY3JpcHRvciB0byBvbmx5IGJlaW5nIGFibGUgbWFw IGZvcmVpZ24KbWVtb3J5IGJlbG9uZ2luZyB0byBhIHNwZWNpZmljIGRvbWFpbi4gIE9uY2UgYSBm aWxlIGRlc2NyaXB0b3IgaGFzCmJlZW4gcmVzdHJpY3RlZCBpdHMgcmVzdHJpY3Rpb24gY2Fubm90 IGJlIHJlbW92ZWQgb3IgY2hhbmdlZC4KCkEgZGV2aWNlIG1vZGVsIChlLmcuLCBRRU1VKSBvciBz aW1pbGFyIGNhbiBtYWtlIHVzZSBvZiB0aGlzIGJlZm9yZQpkcm9wcGluZyBwcml2aWxlZ2VzIHRv IHByZXZlbnQgdGhlIGZpbGUgZGVzY3JpcHRvciBiZWluZyB1c2VkIHRvCmVzY2FsYXRlIHByaXZs ZWdlcyBpZiB0aGUgcHJvY2VzcyBpcyBjb21wcm9taXNlZC4KCkZJWE1FOiBUaGlzIGlzIG5vdCBn b29kIGVub3VnaCAoeWV0KSBhcyBpdCBkb2VzIG5vdCByZXN0cmljdCB3aGF0Cmh5cGVyY2FsbHMg bWF5IGJlIHBlcmZvcm1lZC4gIEZpeGluZyB0aGlzIHJlcXVpcmVzIGEgaHlwZXJ2aXNvciBBQkkK Y2hhbmdlLgoKU2lnbmVkLW9mZi1ieTogRGF2aWQgVnJhYmVsIDxkYXZpZC52cmFiZWxAY2l0cml4 LmNvbT4KLS0tCiBkcml2ZXJzL3hlbi9wcml2Y21kLmMgICAgICB8IDc1ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0KIGluY2x1ZGUvdWFwaS94ZW4vcHJpdmNt ZC5oIHwgMjYgKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCA5NiBpbnNlcnRpb25z KCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL3ByaXZjbWQuYyBi L2RyaXZlcnMveGVuL3ByaXZjbWQuYwppbmRleCBkZjJlNmY3Li41MTNkMWM1IDEwMDY0NAotLS0g YS9kcml2ZXJzL3hlbi9wcml2Y21kLmMKKysrIGIvZHJpdmVycy94ZW4vcHJpdmNtZC5jCkBAIC00 Myw2ICs0MywxOCBAQCBNT0RVTEVfTElDRU5TRSgiR1BMIik7CiAKICNkZWZpbmUgUFJJVl9WTUFf TE9DS0VEICgodm9pZCAqKTEpCiAKKyNkZWZpbmUgVU5SRVNUUklDVEVEX0RPTUlEICgoZG9taWRf dCktMSkKKworc3RydWN0IHByaXZjbWRfZGF0YSB7CisJZG9taWRfdCByZXN0cmljdF9kb21pZDsK K307CisKK3N0YXRpYyBib29sIHByaXZjbWRfaXNfYWxsb3dlZChzdHJ1Y3QgcHJpdmNtZF9kYXRh ICpwcml2LCBkb21pZF90IGRvbWlkKQoreworCXJldHVybiBwcml2LT5yZXN0cmljdF9kb21pZCA9 PSBVTlJFU1RSSUNURURfRE9NSUQKKwkJfHwgcHJpdi0+cmVzdHJpY3RfZG9taWQgPT0gZG9taWQ7 Cit9CisKIHN0YXRpYyBpbnQgcHJpdmNtZF92bWFfcmFuZ2VfaXNfbWFwcGVkKAogICAgICAgICAg ICAgICAgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsCiAgICAgICAgICAgICAgICB1bnNpZ25l ZCBsb25nIGFkZHIsCkBAIC0yMjksNyArMjQxLDcgQEAgc3RhdGljIGludCBtbWFwX2dmbl9yYW5n ZSh2b2lkICpkYXRhLCB2b2lkICpzdGF0ZSkKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGxvbmcg cHJpdmNtZF9pb2N0bF9tbWFwKHZvaWQgX191c2VyICp1ZGF0YSkKK3N0YXRpYyBsb25nIHByaXZj bWRfaW9jdGxfbW1hcChzdHJ1Y3QgcHJpdmNtZF9kYXRhICpwcml2LCB2b2lkIF9fdXNlciAqdWRh dGEpCiB7CiAJc3RydWN0IHByaXZjbWRfbW1hcCBtbWFwY21kOwogCXN0cnVjdCBtbV9zdHJ1Y3Qg Km1tID0gY3VycmVudC0+bW07CkBAIC0yNDUsNiArMjU3LDkgQEAgc3RhdGljIGxvbmcgcHJpdmNt ZF9pb2N0bF9tbWFwKHZvaWQgX191c2VyICp1ZGF0YSkKIAlpZiAoY29weV9mcm9tX3VzZXIoJm1t YXBjbWQsIHVkYXRhLCBzaXplb2YobW1hcGNtZCkpKQogCQlyZXR1cm4gLUVGQVVMVDsKIAorCWlm ICghcHJpdmNtZF9pc19hbGxvd2VkKHByaXYsIG1tYXBjbWQuZG9tKSkKKwkJcmV0dXJuIC1FQUND RVM7CisKIAlyYyA9IGdhdGhlcl9hcnJheSgmcGFnZWxpc3QsCiAJCQkgIG1tYXBjbWQubnVtLCBz aXplb2Yoc3RydWN0IHByaXZjbWRfbW1hcF9lbnRyeSksCiAJCQkgIG1tYXBjbWQuZW50cnkpOwpA QCAtNDE2LDcgKzQzMSw4IEBAIHN0YXRpYyBpbnQgYWxsb2NfZW1wdHlfcGFnZXMoc3RydWN0IHZt X2FyZWFfc3RydWN0ICp2bWEsIGludCBudW1wZ3MpCiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgdm1f b3BlcmF0aW9uc19zdHJ1Y3QgcHJpdmNtZF92bV9vcHM7CiAKLXN0YXRpYyBsb25nIHByaXZjbWRf aW9jdGxfbW1hcF9iYXRjaCh2b2lkIF9fdXNlciAqdWRhdGEsIGludCB2ZXJzaW9uKQorc3RhdGlj IGxvbmcgcHJpdmNtZF9pb2N0bF9tbWFwX2JhdGNoKHN0cnVjdCBwcml2Y21kX2RhdGEgKnByaXYs IHZvaWQgX191c2VyICp1ZGF0YSwKKwkJCQkgICAgIGludCB2ZXJzaW9uKQogewogCWludCByZXQ7 CiAJc3RydWN0IHByaXZjbWRfbW1hcGJhdGNoX3YyIG07CkBAIC00NDYsNiArNDYyLDkgQEAgc3Rh dGljIGxvbmcgcHJpdmNtZF9pb2N0bF9tbWFwX2JhdGNoKHZvaWQgX191c2VyICp1ZGF0YSwgaW50 IHZlcnNpb24pCiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAorCWlmICghcHJpdmNtZF9pc19hbGxv d2VkKHByaXYsIG0uZG9tKSkKKwkJcmV0dXJuIC1FQUNDRVM7CisKIAlucl9wYWdlcyA9IERJVl9S T1VORF9VUChtLm51bSwgWEVOX1BGTl9QRVJfUEFHRSk7CiAJaWYgKChtLm51bSA8PSAwKSB8fCAo bnJfcGFnZXMgPiAoTE9OR19NQVggPj4gUEFHRV9TSElGVCkpKQogCQlyZXR1cm4gLUVJTlZBTDsK QEAgLTU0OCw5ICs1NjcsMjggQEAgb3V0X3VubG9jazoKIAlnb3RvIG91dDsKIH0KIAorc3RhdGlj IGludCBwcml2Y21kX2lvY3RsX3Jlc3RyaWN0X2RvbWlkKHN0cnVjdCBwcml2Y21kX2RhdGEgKnBy aXYsCisJCQkJCXZvaWQgX191c2VyICp1ZGF0YSkKK3sKKwlzdHJ1Y3QgcHJpdmNtZF9yZXN0cmlj dF9kb21pZCBwcmQ7CisKKwlpZiAoY29weV9mcm9tX3VzZXIoJnByZCwgdWRhdGEsIHNpemVvZihw cmQpKSkKKwkJcmV0dXJuIC1FRkFVTFQ7CisKKwlpZiAocHJkLmRvbWlkID49IERPTUlEX0ZJUlNU X1JFU0VSVkVEKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAocHJpdi0+cmVzdHJpY3RfZG9taWQg IT0gVU5SRVNUUklDVEVEX0RPTUlEKQorCQlyZXR1cm4gLUVBQ0NFUzsKKworCXByaXYtPnJlc3Ry aWN0X2RvbWlkID0gcHJkLmRvbWlkOworCisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBsb25nIHBy aXZjbWRfaW9jdGwoc3RydWN0IGZpbGUgKmZpbGUsCiAJCQkgIHVuc2lnbmVkIGludCBjbWQsIHVu c2lnbmVkIGxvbmcgZGF0YSkKIHsKKwlzdHJ1Y3QgcHJpdmNtZF9kYXRhICpwcml2ID0gZmlsZS0+ cHJpdmF0ZV9kYXRhOwogCWludCByZXQgPSAtRU5PU1lTOwogCXZvaWQgX191c2VyICp1ZGF0YSA9 ICh2b2lkIF9fdXNlciAqKSBkYXRhOwogCkBAIC01NjAsMTUgKzU5OCwxOSBAQCBzdGF0aWMgbG9u ZyBwcml2Y21kX2lvY3RsKHN0cnVjdCBmaWxlICpmaWxlLAogCQlicmVhazsKIAogCWNhc2UgSU9D VExfUFJJVkNNRF9NTUFQOgotCQlyZXQgPSBwcml2Y21kX2lvY3RsX21tYXAodWRhdGEpOworCQly ZXQgPSBwcml2Y21kX2lvY3RsX21tYXAocHJpdiwgdWRhdGEpOwogCQlicmVhazsKIAogCWNhc2Ug SU9DVExfUFJJVkNNRF9NTUFQQkFUQ0g6Ci0JCXJldCA9IHByaXZjbWRfaW9jdGxfbW1hcF9iYXRj aCh1ZGF0YSwgMSk7CisJCXJldCA9IHByaXZjbWRfaW9jdGxfbW1hcF9iYXRjaChwcml2LCB1ZGF0 YSwgMSk7CiAJCWJyZWFrOwogCiAJY2FzZSBJT0NUTF9QUklWQ01EX01NQVBCQVRDSF9WMjoKLQkJ cmV0ID0gcHJpdmNtZF9pb2N0bF9tbWFwX2JhdGNoKHVkYXRhLCAyKTsKKwkJcmV0ID0gcHJpdmNt ZF9pb2N0bF9tbWFwX2JhdGNoKHByaXYsIHVkYXRhLCAyKTsKKwkJYnJlYWs7CisKKwljYXNlIElP Q1RMX1BSSVZDTURfUkVTVFJJQ1RfRE9NSUQ6CisJCXJldCA9IHByaXZjbWRfaW9jdGxfcmVzdHJp Y3RfZG9taWQocHJpdiwgdWRhdGEpOwogCQlicmVhazsKIAogCWRlZmF1bHQ6CkBAIC02NDQsMTAg KzY4NiwzMyBAQCBzdGF0aWMgaW50IHByaXZjbWRfdm1hX3JhbmdlX2lzX21hcHBlZCgKIAkJCQkg ICBpc19tYXBwZWRfZm4sIE5VTEwpICE9IDA7CiB9CiAKK3N0YXRpYyBpbnQgcHJpdmNtZF9vcGVu KHN0cnVjdCBpbm9kZSAqaW5vLCBzdHJ1Y3QgZmlsZSAqZmlscCkKK3sKKwlzdHJ1Y3QgcHJpdmNt ZF9kYXRhICpwcml2OworCisJcHJpdiA9IGt6YWxsb2Moc2l6ZW9mKCpwcml2KSwgR0ZQX0tFUk5F TCk7CisJaWYgKCFwcml2KQorCQlyZXR1cm4gLUVOT01FTTsKKworCXByaXYtPnJlc3RyaWN0X2Rv bWlkID0gVU5SRVNUUklDVEVEX0RPTUlEOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQg cHJpdmNtZF9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQor eworCXN0cnVjdCBwcml2Y21kX2RhdGEgKnByaXYgPSBmaWxlLT5wcml2YXRlX2RhdGE7CisKKwlr ZnJlZShwcml2KTsKKwlyZXR1cm4gMDsKK30KKwogY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9u cyB4ZW5fcHJpdmNtZF9mb3BzID0gewogCS5vd25lciA9IFRISVNfTU9EVUxFLAogCS51bmxvY2tl ZF9pb2N0bCA9IHByaXZjbWRfaW9jdGwsCiAJLm1tYXAgPSBwcml2Y21kX21tYXAsCisJLm9wZW4g PSBwcml2Y21kX29wZW4sCisJLnJlbGVhc2UgPSBwcml2Y21kX3JlbGVhc2UsCiB9OwogRVhQT1JU X1NZTUJPTF9HUEwoeGVuX3ByaXZjbWRfZm9wcyk7CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFw aS94ZW4vcHJpdmNtZC5oIGIvaW5jbHVkZS91YXBpL3hlbi9wcml2Y21kLmgKaW5kZXggN2RkZWVk YS4uZTJjZWE0YiAxMDA2NDQKLS0tIGEvaW5jbHVkZS91YXBpL3hlbi9wcml2Y21kLmgKKysrIGIv aW5jbHVkZS91YXBpL3hlbi9wcml2Y21kLmgKQEAgLTc3LDYgKzc3LDEwIEBAIHN0cnVjdCBwcml2 Y21kX21tYXBiYXRjaF92MiB7CiAJaW50IF9fdXNlciAqZXJyOyAgLyogYXJyYXkgb2YgZXJyb3Ig Y29kZXMgKi8KIH07CiAKK3N0cnVjdCBwcml2Y21kX3Jlc3RyaWN0X2RvbWlkIHsKKwlkb21pZF90 IGRvbWlkOworfTsKKwogLyoKICAqIEBjbWQ6IElPQ1RMX1BSSVZDTURfSFlQRVJDQUxMCiAgKiBA YXJnOiAmcHJpdmNtZF9oeXBlcmNhbGxfdApAQCAtOTksNCArMTAzLDI2IEBAIHN0cnVjdCBwcml2 Y21kX21tYXBiYXRjaF92MiB7CiAjZGVmaW5lIElPQ1RMX1BSSVZDTURfTU1BUEJBVENIX1YyCQkJ CVwKIAlfSU9DKF9JT0NfTk9ORSwgJ1AnLCA0LCBzaXplb2Yoc3RydWN0IHByaXZjbWRfbW1hcGJh dGNoX3YyKSkKIAorLyoKKyAqIEBjbWQ6IElPQ1RMX1BSSVZDTURfUkVTVFJJQ1RfRE9NSUQKKyAq IEBhcmc6IHN0cnVjdCBwcml2Y21kX3Jlc3RyaWN0X2RvbWlkICoKKyAqIFJldHVybjogMCBvbiBz dWNjZXNzLCBvciAtMSAod2l0aCBlcnJubyBzZXQpLgorICoKKyAqIFRoaXMgcmVzdHJpY3RzIHRo ZSBmaWxlIGRlc2NyaXB0b3IgdG8gb25seSBiZWluZyBhYmxlIG1hcCBmb3JlaWduCisgKiBtZW1v cnkgYmVsb25naW5nIHRvIGEgc3BlY2lmaWMgZG9tYWluLiAgT25jZSBhIGZpbGUgZGVzY3JpcHRv ciBoYXMKKyAqIGJlZW4gcmVzdHJpY3RlZCBpdHMgcmVzdHJpY3Rpb24gY2Fubm90IGJlIHJlbW92 ZWQgb3IgY2hhbmdlZC4KKyAqCisgKiBBIGRldmljZSBtb2RlbCAoZS5nLiwgUUVNVSkgb3Igc2lt aWxhciBjYW4gbWFrZSB1c2Ugb2YgdGhpcyBiZWZvcmUKKyAqIGRyb3BwaW5nIHByaXZpbGVnZXMg dG8gcHJldmVudCB0aGUgZmlsZSBkZXNjcmlwdG9yIGJlaW5nIHVzZWQgdG8KKyAqIGVzY2FsYXRl IHByaXZsZWdlcyBpZiB0aGUgcHJvY2VzcyBpcyBjb21wcm9taXNlZC4KKyAqCisgKiBGSVhNRTog VGhpcyBpcyBub3QgZ29vZCBlbm91Z2ggKHlldCkgYXMgaXQgZG9lcyBub3QgcmVzdHJpY3Qgd2hh dAorICogaHlwZXJjYWxscyBtYXkgYmUgcGVyZm9ybWVkLgorICoKKyAqIEVJTlZBTCAtIHRoZSBz cGVjaWZpZWQgZG9taWQgaXNuJ3QgdmFsaWQuCisgKiBFQUNDRVMgLSB0aGUgZmlsZSBkZXNjcmlw dG9yIGhhcyBhbHJlYWR5IGJlZW4gcmVzdHJpY3RlZC4KKyAqLworI2RlZmluZSBJT0NUTF9QUklW Q01EX1JFU1RSSUNUX0RPTUlECQkJCVwKKwlfSU9DKF9JT0NfTk9ORSwgJ1AnLCA1LCBzaXplb2Yo c3RydWN0IHByaXZjbWRfcmVzdHJpY3RfZG9taWQpKQorCiAjZW5kaWYgLyogX19MSU5VWF9QVUJM SUNfUFJJVkNNRF9IX18gKi8KLS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlz dHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==