From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH 3/3] xen/privcmd: add IOCTL_PRIVCMD_RESTRICT Date: Thu, 9 Feb 2017 14:17:46 +0000 Message-ID: <1486649866-4869-4-git-send-email-paul.durrant@citrix.com> References: <1486649866-4869-1-git-send-email-paul.durrant@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 1cbpXk-0006gk-BH for xen-devel@lists.xenproject.org; Thu, 09 Feb 2017 14:17:52 +0000 In-Reply-To: <1486649866-4869-1-git-send-email-paul.durrant@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, linux-kernel@vger.kernel.org Cc: Juergen Gross , Boris Ostrovsky , Paul Durrant List-Id: xen-devel@lists.xenproject.org VGhlIHB1cnBvc2UgaWYgdGhpcyBpb2N0bCBpcyB0byBhbGxvdyBhIHVzZXIgb2YgcHJpdmNtZCB0 byByZXN0cmljdCBpdHMKb3BlcmF0aW9uIHN1Y2ggdGhhdCBpdCB3aWxsIG5vIGxvbmdlciBzZXJ2 aWNlIGFyYml0cmFyeSBoeXBlcmNhbGxzIHZpYQpJT0NUTF9QUklWQ01EX0hZUEVSQ0FMTCwgYW5k IHdpbGwgY2hlY2sgZm9yIGEgbWF0Y2hpbmcgZG9taWQgd2hlbgpzZXJ2aWNpbmcgSU9DVExfUFJJ VkNNRF9ETV9PUC4gVGhlIGFpbSBvZiB0aGlzIGlzIHRvIGxpbWl0IHRoZSBhdHRhY2sKc3VyZmFj ZSBmb3IgYSBjb21wcm9taXNlZCBkZXZpY2UgbW9kZWwuCgpTaWduZWQtb2ZmLWJ5OiBQYXVsIER1 cnJhbnQgPHBhdWwuZHVycmFudEBjaXRyaXguY29tPgotLS0KQ2M6IEJvcmlzIE9zdHJvdnNreSA8 Ym9yaXMub3N0cm92c2t5QG9yYWNsZS5jb20+CkNjOiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3Vz ZS5jb20+Ci0tLQogZHJpdmVycy94ZW4vcHJpdmNtZC5jICAgICAgfCA2NCArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCiBpbmNsdWRlL3VhcGkveGVuL3ByaXZj bWQuaCB8ICAyICsrCiAyIGZpbGVzIGNoYW5nZWQsIDYyIGluc2VydGlvbnMoKyksIDQgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vcHJpdmNtZC5jIGIvZHJpdmVycy94ZW4v cHJpdmNtZC5jCmluZGV4IDMxYzQzZjQuLmVmMTRhYzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMveGVu L3ByaXZjbWQuYworKysgYi9kcml2ZXJzL3hlbi9wcml2Y21kLmMKQEAgLTQ0LDE2ICs0NCwyNSBA QCBNT0RVTEVfTElDRU5TRSgiR1BMIik7CiAKICNkZWZpbmUgUFJJVl9WTUFfTE9DS0VEICgodm9p ZCAqKTEpCiAKK3N0cnVjdCBwcml2Y21kX2RhdGEgeworCWRvbWlkX3QgZG9taWQ7Cit9OworCiBz dGF0aWMgaW50IHByaXZjbWRfdm1hX3JhbmdlX2lzX21hcHBlZCgKICAgICAgICAgICAgICAgIHN0 cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLAogICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBh ZGRyLAogICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBucl9wYWdlcyk7CiAKLXN0YXRpYyBs b25nIHByaXZjbWRfaW9jdGxfaHlwZXJjYWxsKHZvaWQgX191c2VyICp1ZGF0YSkKK3N0YXRpYyBs b25nIHByaXZjbWRfaW9jdGxfaHlwZXJjYWxsKHN0cnVjdCBmaWxlICpmaWxlLCB2b2lkIF9fdXNl ciAqdWRhdGEpCiB7CisJc3RydWN0IHByaXZjbWRfZGF0YSAqZGF0YSA9IGZpbGUtPnByaXZhdGVf ZGF0YTsKIAlzdHJ1Y3QgcHJpdmNtZF9oeXBlcmNhbGwgaHlwZXJjYWxsOwogCWxvbmcgcmV0Owog CisJLyogRGlzYWxsb3cgYXJiaXRyYXJ5IGh5cGVyY2FsbHMgaWYgcmVzdHJpY3RlZCAqLworCWlm IChkYXRhLT5kb21pZCAhPSBET01JRF9JTlZBTElEKQorCQlyZXR1cm4gLUVQRVJNOworCiAJaWYg KGNvcHlfZnJvbV91c2VyKCZoeXBlcmNhbGwsIHVkYXRhLCBzaXplb2YoaHlwZXJjYWxsKSkpCiAJ CXJldHVybiAtRUZBVUxUOwogCkBAIC01OTcsOCArNjA2LDkgQEAgc3RhdGljIHZvaWQgZnJlZV9r cHRyKHZvaWQgKmtwdHJbXSwgdW5zaWduZWQgaW50IG51bSkKIAlrZnJlZShrcHRyKTsKIH0KIAot c3RhdGljIGxvbmcgcHJpdmNtZF9pb2N0bF9kbV9vcCh2b2lkIF9fdXNlciAqdWRhdGEpCitzdGF0 aWMgbG9uZyBwcml2Y21kX2lvY3RsX2RtX29wKHN0cnVjdCBmaWxlICpmaWxlLCB2b2lkIF9fdXNl ciAqdWRhdGEpCiB7CisJc3RydWN0IHByaXZjbWRfZGF0YSAqZGF0YSA9IGZpbGUtPnByaXZhdGVf ZGF0YTsKIAlzdHJ1Y3QgcHJpdmNtZF9kbV9vcCBrZGF0YTsKIAlzdHJ1Y3QgcHJpdmNtZF9kbV9v cF9idWYgKmtidWZzOwogCXZvaWQgKiprcHRyID0gTlVMTDsKQEAgLTYwOSw2ICs2MTksMTAgQEAg c3RhdGljIGxvbmcgcHJpdmNtZF9pb2N0bF9kbV9vcCh2b2lkIF9fdXNlciAqdWRhdGEpCiAJaWYg KGNvcHlfZnJvbV91c2VyKCZrZGF0YSwgdWRhdGEsIHNpemVvZihrZGF0YSkpKQogCQlyZXR1cm4g LUVGQVVMVDsKIAorCS8qIElmIHJlc3RyaWN0aW9uIGlzIGluIHBsYWNlLCBjaGVjayB0aGUgZG9t aWQgbWF0Y2hlcyAqLworCWlmIChkYXRhLT5kb21pZCAhPSBET01JRF9JTlZBTElEICYmIGRhdGEt PmRvbWlkICE9IGtkYXRhLmRvbSkKKwkJcmV0dXJuIC1FUEVSTTsKKwogCWlmIChrZGF0YS5udW0g PT0gMCkKIAkJcmV0dXJuIDA7CiAKQEAgLTY2Niw2ICs2ODAsMjAgQEAgc3RhdGljIGxvbmcgcHJp dmNtZF9pb2N0bF9kbV9vcCh2b2lkIF9fdXNlciAqdWRhdGEpCiAJcmV0dXJuIHJjOwogfQogCitz dGF0aWMgbG9uZyBwcml2Y21kX2lvY3RsX3Jlc3RyaWN0KHN0cnVjdCBmaWxlICpmaWxlLCB2b2lk IF9fdXNlciAqdWRhdGEpCit7CisJc3RydWN0IHByaXZjbWRfZGF0YSAqZGF0YSA9IGZpbGUtPnBy aXZhdGVfZGF0YTsKKwlkb21pZF90IGRvbTsKKworCWlmIChjb3B5X2Zyb21fdXNlcigmZG9tLCB1 ZGF0YSwgc2l6ZW9mKGRvbSkpKQorCQlyZXR1cm4gLUVGQVVMVDsKKworCS8qIFNldCByZXN0cmlj dGlvbiB0byB0aGUgc3BlY2lmaWVkIGRvbWFpbiAqLworCWRhdGEtPmRvbWlkID0gZG9tOworCisJ cmV0dXJuIDA7Cit9CisKIHN0YXRpYyBsb25nIHByaXZjbWRfaW9jdGwoc3RydWN0IGZpbGUgKmZp bGUsCiAJCQkgIHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxvbmcgZGF0YSkKIHsKQEAgLTY3 NCw3ICs3MDIsNyBAQCBzdGF0aWMgbG9uZyBwcml2Y21kX2lvY3RsKHN0cnVjdCBmaWxlICpmaWxl LAogCiAJc3dpdGNoIChjbWQpIHsKIAljYXNlIElPQ1RMX1BSSVZDTURfSFlQRVJDQUxMOgotCQly ZXQgPSBwcml2Y21kX2lvY3RsX2h5cGVyY2FsbCh1ZGF0YSk7CisJCXJldCA9IHByaXZjbWRfaW9j dGxfaHlwZXJjYWxsKGZpbGUsIHVkYXRhKTsKIAkJYnJlYWs7CiAKIAljYXNlIElPQ1RMX1BSSVZD TURfTU1BUDoKQEAgLTY5MCw3ICs3MTgsMTEgQEAgc3RhdGljIGxvbmcgcHJpdmNtZF9pb2N0bChz dHJ1Y3QgZmlsZSAqZmlsZSwKIAkJYnJlYWs7CiAKIAljYXNlIElPQ1RMX1BSSVZDTURfRE1fT1A6 Ci0JCXJldCA9IHByaXZjbWRfaW9jdGxfZG1fb3AodWRhdGEpOworCQlyZXQgPSBwcml2Y21kX2lv Y3RsX2RtX29wKGZpbGUsIHVkYXRhKTsKKwkJYnJlYWs7CisKKwljYXNlIElPQ1RMX1BSSVZDTURf UkVTVFJJQ1Q6CisJCXJldCA9IHByaXZjbWRfaW9jdGxfcmVzdHJpY3QoZmlsZSwgdWRhdGEpOwog CQlicmVhazsKIAogCWRlZmF1bHQ6CkBAIC03MDAsNiArNzMyLDI4IEBAIHN0YXRpYyBsb25nIHBy aXZjbWRfaW9jdGwoc3RydWN0IGZpbGUgKmZpbGUsCiAJcmV0dXJuIHJldDsKIH0KIAorc3RhdGlj IGludCBwcml2Y21kX29wZW4oc3RydWN0IGlub2RlICppbm8sIHN0cnVjdCBmaWxlICpmaWxlKQor eworCXN0cnVjdCBwcml2Y21kX2RhdGEgKmRhdGEgPSBremFsbG9jKHNpemVvZigqZGF0YSksIEdG UF9LRVJORUwpOworCisJaWYgKCFkYXRhKQorCQlyZXR1cm4gLUVOT01FTTsKKworCS8qIERPTUlE X0lOVkFMSUQgaW1wbGllcyBubyByZXN0cmljdGlvbiAqLworCWRhdGEtPmRvbWlkID0gRE9NSURf SU5WQUxJRDsKKworCWZpbGUtPnByaXZhdGVfZGF0YSA9IGRhdGE7CisJcmV0dXJuIDA7Cit9CisK K3N0YXRpYyBpbnQgcHJpdmNtZF9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vLCBzdHJ1Y3QgZmls ZSAqZmlsZSkKK3sKKwlzdHJ1Y3QgcHJpdmNtZF9kYXRhICpkYXRhID0gZmlsZS0+cHJpdmF0ZV9k YXRhOworCisJa2ZyZWUoZGF0YSk7CisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyB2b2lkIHByaXZj bWRfY2xvc2Uoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpCiB7CiAJc3RydWN0IHBhZ2UgKipw YWdlcyA9IHZtYS0+dm1fcHJpdmF0ZV9kYXRhOwpAQCAtNzY4LDYgKzgyMiw4IEBAIHN0YXRpYyBp bnQgcHJpdmNtZF92bWFfcmFuZ2VfaXNfbWFwcGVkKAogY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0 aW9ucyB4ZW5fcHJpdmNtZF9mb3BzID0gewogCS5vd25lciA9IFRISVNfTU9EVUxFLAogCS51bmxv Y2tlZF9pb2N0bCA9IHByaXZjbWRfaW9jdGwsCisJLm9wZW4gPSBwcml2Y21kX29wZW4sCisJLnJl bGVhc2UgPSBwcml2Y21kX3JlbGVhc2UsCiAJLm1tYXAgPSBwcml2Y21kX21tYXAsCiB9OwogRVhQ T1JUX1NZTUJPTF9HUEwoeGVuX3ByaXZjbWRfZm9wcyk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL3Vh cGkveGVuL3ByaXZjbWQuaCBiL2luY2x1ZGUvdWFwaS94ZW4vcHJpdmNtZC5oCmluZGV4IGY4YzVk NzUuLjYzZWU5NWMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdWFwaS94ZW4vcHJpdmNtZC5oCisrKyBi L2luY2x1ZGUvdWFwaS94ZW4vcHJpdmNtZC5oCkBAIC0xMTEsNSArMTExLDcgQEAgc3RydWN0IHBy aXZjbWRfZG1fb3AgewogCV9JT0MoX0lPQ19OT05FLCAnUCcsIDQsIHNpemVvZihzdHJ1Y3QgcHJp dmNtZF9tbWFwYmF0Y2hfdjIpKQogI2RlZmluZSBJT0NUTF9QUklWQ01EX0RNX09QCQkJCQlcCiAJ X0lPQyhfSU9DX05PTkUsICdQJywgNSwgc2l6ZW9mKHN0cnVjdCBwcml2Y21kX2RtX29wKSkKKyNk ZWZpbmUgSU9DVExfUFJJVkNNRF9SRVNUUklDVAkJCQkJXAorCV9JT0MoX0lPQ19OT05FLCAnUCcs IDYsIHNpemVvZihkb21pZF90KSkKIAogI2VuZGlmIC8qIF9fTElOVVhfUFVCTElDX1BSSVZDTURf SF9fICovCi0tIAoyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcK aHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=