From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Martin Subject: [PATCH v4 20/28] arm64/sve: Add prctl controls for userspace vector length management Date: Fri, 27 Oct 2017 11:51:02 +0100 Message-ID: <1509101470-7881-21-git-send-email-Dave.Martin@arm.com> References: <1509101470-7881-1-git-send-email-Dave.Martin@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 57E1549D5C for ; Fri, 27 Oct 2017 06:50:35 -0400 (EDT) Received: from mm01.cs.columbia.edu ([127.0.0.1]) by localhost (mm01.cs.columbia.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xKIE01eVjsc2 for ; Fri, 27 Oct 2017 06:50:34 -0400 (EDT) Received: from foss.arm.com (foss.arm.com [217.140.101.70]) by mm01.cs.columbia.edu (Postfix) with ESMTP id F381449D78 for ; Fri, 27 Oct 2017 06:50:33 -0400 (EDT) In-Reply-To: <1509101470-7881-1-git-send-email-Dave.Martin@arm.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kvmarm-bounces@lists.cs.columbia.edu Sender: kvmarm-bounces@lists.cs.columbia.edu To: linux-arm-kernel@lists.infradead.org Cc: linux-arch@vger.kernel.org, Okamoto Takayuki , libc-alpha@sourceware.org, Ard Biesheuvel , Szabolcs Nagy , Catalin Marinas , Will Deacon , kvmarm@lists.cs.columbia.edu List-Id: kvmarm@lists.cs.columbia.edu VGhpcyBwYXRjaCBhZGRzIHR3byBhcm02NC1zcGVjaWZpYyBwcmN0bHMsIHRvIHBlcm1pdCB1c2Vy c3BhY2UgdG8KY29udHJvbCBpdHMgdmVjdG9yIGxlbmd0aDoKCiAqIFBSX1NWRV9TRVRfVkw6IHNl dCB0aGUgdGhyZWFkJ3MgU1ZFIHZlY3RvciBsZW5ndGggYW5kIHZlY3RvcgogICBsZW5ndGggaW5o ZXJpdGFuY2UgbW9kZS4KCiAqIFBSX1NWRV9HRVRfVkw6IGdldCB0aGUgc2FtZSBpbmZvcm1hdGlv bi4KCkFsdGhvdWdoIHRoZXNlIHByY3RscyByZXNlbWJsZSBpbnN0cnVjdGlvbiBzZXQgZmVhdHVy ZXMgaW4gdGhlIFNWRQphcmNoaXRlY3R1cmUsIHRoZXkgcHJvdmlkZSBhZGRpdGlvbmFsIGNvbnRy b2w6IHRoZSB2ZWN0b3IgbGVuZ3RoCmluaGVyaXRhbmNlIG1vZGUgaXMgTGludXgtc3BlY2lmaWMg YW5kIG5vdGhpbmcgdG8gZG8gd2l0aCB0aGUKYXJjaGl0ZWN0dXJlLCBhbmQgdGhlIGFyY2hpdGVj dHVyZSBkb2VzIG5vdCBwZXJtaXQgRUwwIHRvIHNldCBpdHMKb3duIHZlY3RvciBsZW5ndGggZGly ZWN0bHkuICBCb3RoIGNhbiBiZSB1c2VkIGluIHBvcnRhYmxlIHRvb2xzCndpdGhvdXQgcmVxdWly aW5nIHRoZSB1c2Ugb2YgU1ZFIGluc3RydWN0aW9ucy4KClNpZ25lZC1vZmYtYnk6IERhdmUgTWFy dGluIDxEYXZlLk1hcnRpbkBhcm0uY29tPgpSZXZpZXdlZC1ieTogQ2F0YWxpbiBNYXJpbmFzIDxj YXRhbGluLm1hcmluYXNAYXJtLmNvbT4KQ2M6IEFsZXggQmVubsOpZSA8YWxleC5iZW5uZWVAbGlu YXJvLm9yZz4KCi0tLQoKKipEcm9wcGVkIGF0IHYzKiogUmV2aWV3ZWQtYnk6IEFsZXggQmVubsOp ZSA8YWxleC5iZW5uZWVAbGluYXJvLm9yZz4KZHVlIHRvIG5vbi10cml2aWFsIGNoYW5nZXMvZml4 ZXMgYWZ0ZXIgdjIuCgpDaGFuZ2VzIHNpbmNlIHYzCi0tLS0tLS0tLS0tLS0tLS0KClJlcXVlc3Rl ZCBieSBDYXRhbGluIE1hcmluYXM6CgogKiBSZXBsYWNlIHN0YXRpYyBfX21heWJlX3VudXNlZCBm dW5jdGlvbnMgd2l0aCBzdGF0aWMgaW5saW5lcy4KCiAgIChSZXRhaW5pbmcgQ2F0YWxpbidzIFJl dmlld2VkLWJ5IHdpdGggaGlzIGFwcHJvdmFsLikKLS0tCiBhcmNoL2FybTY0L2luY2x1ZGUvYXNt L2Zwc2ltZC5oICAgIHwgMTQgKysrKysrKysrKysKIGFyY2gvYXJtNjQvaW5jbHVkZS9hc20vcHJv Y2Vzc29yLmggfCAgNCArKysKIGFyY2gvYXJtNjQva2VybmVsL2Zwc2ltZC5jICAgICAgICAgfCA1 MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogaW5jbHVkZS91YXBpL2xp bnV4L3ByY3RsLmggICAgICAgICB8ICA0ICsrKwoga2VybmVsL3N5cy5jICAgICAgICAgICAgICAg ICAgICAgICB8IDEyICsrKysrKysrKwogNSBmaWxlcyBjaGFuZ2VkLCA4NCBpbnNlcnRpb25zKCsp CgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9mcHNpbWQuaCBiL2FyY2gvYXJt NjQvaW5jbHVkZS9hc20vZnBzaW1kLmgKaW5kZXggZDc1NGU1YS4uYjg2ODQxMiAxMDA2NDQKLS0t IGEvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9mcHNpbWQuaAorKysgYi9hcmNoL2FybTY0L2luY2x1 ZGUvYXNtL2Zwc2ltZC5oCkBAIC0xNyw2ICsxNyw3IEBACiAjZGVmaW5lIF9fQVNNX0ZQX0gKIAog I2luY2x1ZGUgPGFzbS9wdHJhY2UuaD4KKyNpbmNsdWRlIDxhc20vZXJybm8uaD4KIAogI2lmbmRl ZiBfX0FTU0VNQkxZX18KIApAQCAtOTgsNiArOTksOSBAQCBleHRlcm4gdm9pZCBzdmVfc3luY19m cm9tX2Zwc2ltZF96ZXJvcGFkKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzayk7CiBleHRlcm4gaW50 IHN2ZV9zZXRfdmVjdG9yX2xlbmd0aChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2ssCiAJCQkJIHVu c2lnbmVkIGxvbmcgdmwsIHVuc2lnbmVkIGxvbmcgZmxhZ3MpOwogCitleHRlcm4gaW50IHN2ZV9z ZXRfY3VycmVudF92bCh1bnNpZ25lZCBsb25nIGFyZyk7CitleHRlcm4gaW50IHN2ZV9nZXRfY3Vy cmVudF92bCh2b2lkKTsKKwogLyoKICAqIFByb2JpbmcgYW5kIHNldHVwIGZ1bmN0aW9ucy4KICAq IENhbGxzIHRvIHRoZXNlIGZ1bmN0aW9ucyBtdXN0IGJlIHNlcmlhbGlzZWQgd2l0aCBvbmUgYW5v dGhlci4KQEAgLTExNCw2ICsxMTgsMTYgQEAgc3RhdGljIGlubGluZSB2b2lkIGZwc2ltZF9yZWxl YXNlX3Rhc2soc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrKSB7IH0KIHN0YXRpYyBpbmxpbmUgdm9p ZCBzdmVfc3luY190b19mcHNpbWQoc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrKSB7IH0KIHN0YXRp YyBpbmxpbmUgdm9pZCBzdmVfc3luY19mcm9tX2Zwc2ltZF96ZXJvcGFkKHN0cnVjdCB0YXNrX3N0 cnVjdCAqdGFzaykgeyB9CiAKK3N0YXRpYyBpbmxpbmUgaW50IHN2ZV9zZXRfY3VycmVudF92bCh1 bnNpZ25lZCBsb25nIGFyZykKK3sKKwlyZXR1cm4gLUVJTlZBTDsKK30KKworc3RhdGljIGlubGlu ZSBpbnQgc3ZlX2dldF9jdXJyZW50X3ZsKHZvaWQpCit7CisJcmV0dXJuIC1FSU5WQUw7Cit9CisK IHN0YXRpYyBpbmxpbmUgdm9pZCBzdmVfaW5pdF92cV9tYXAodm9pZCkgeyB9CiBzdGF0aWMgaW5s aW5lIHZvaWQgc3ZlX3VwZGF0ZV92cV9tYXAodm9pZCkgeyB9CiBzdGF0aWMgaW5saW5lIGludCBz dmVfdmVyaWZ5X3ZxX21hcCh2b2lkKSB7IHJldHVybiAwOyB9CmRpZmYgLS1naXQgYS9hcmNoL2Fy bTY0L2luY2x1ZGUvYXNtL3Byb2Nlc3Nvci5oIGIvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9wcm9j ZXNzb3IuaAppbmRleCBjNmZkZGIwLi4wMjNjYWNiIDEwMDY0NAotLS0gYS9hcmNoL2FybTY0L2lu Y2x1ZGUvYXNtL3Byb2Nlc3Nvci5oCisrKyBiL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vcHJvY2Vz c29yLmgKQEAgLTIxNyw1ICsyMTcsOSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgc3Bpbl9sb2NrX3By ZWZldGNoKGNvbnN0IHZvaWQgKnB0cikKIGludCBjcHVfZW5hYmxlX3Bhbih2b2lkICpfX3VudXNl ZCk7CiBpbnQgY3B1X2VuYWJsZV9jYWNoZV9tYWludF90cmFwKHZvaWQgKl9fdW51c2VkKTsKIAor LyogVXNlcnNwYWNlIGludGVyZmFjZSBmb3IgUFJfU1ZFX3tTRVQsR0VUfV9WTCBwcmN0bCgpczog Ki8KKyNkZWZpbmUgU1ZFX1NFVF9WTChhcmcpCXN2ZV9zZXRfY3VycmVudF92bChhcmcpCisjZGVm aW5lIFNWRV9HRVRfVkwoKQlzdmVfZ2V0X2N1cnJlbnRfdmwoKQorCiAjZW5kaWYgLyogX19BU1NF TUJMWV9fICovCiAjZW5kaWYgLyogX19BU01fUFJPQ0VTU09SX0ggKi8KZGlmZiAtLWdpdCBhL2Fy Y2gvYXJtNjQva2VybmVsL2Zwc2ltZC5jIGIvYXJjaC9hcm02NC9rZXJuZWwvZnBzaW1kLmMKaW5k ZXggYTQ3Y2U0NC4uNzQ2NTYyMiAxMDA2NDQKLS0tIGEvYXJjaC9hcm02NC9rZXJuZWwvZnBzaW1k LmMKKysrIGIvYXJjaC9hcm02NC9rZXJuZWwvZnBzaW1kLmMKQEAgLTI4LDYgKzI4LDcgQEAKICNp bmNsdWRlIDxsaW51eC9pcnFmbGFncy5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNs dWRlIDxsaW51eC9wZXJjcHUuaD4KKyNpbmNsdWRlIDxsaW51eC9wcmN0bC5oPgogI2luY2x1ZGUg PGxpbnV4L3ByZWVtcHQuaD4KICNpbmNsdWRlIDxsaW51eC9wcmN0bC5oPgogI2luY2x1ZGUgPGxp bnV4L3B0cmFjZS5oPgpAQCAtNTU3LDYgKzU1OCw1NSBAQCBpbnQgc3ZlX3NldF92ZWN0b3JfbGVu Z3RoKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaywKIH0KIAogLyoKKyAqIEVuY29kZSB0aGUgY3Vy cmVudCB2ZWN0b3IgbGVuZ3RoIGFuZCBmbGFncyBmb3IgcmV0dXJuLgorICogVGhpcyBpcyBvbmx5 IHJlcXVpcmVkIGZvciBwcmN0bCgpOiBwdHJhY2UgaGFzIHNlcGFyYXRlIGZpZWxkcworICoKKyAq IGZsYWdzIGFyZSBhcyBmb3Igc3ZlX3NldF92ZWN0b3JfbGVuZ3RoKCkuCisgKi8KK3N0YXRpYyBp bnQgc3ZlX3ByY3RsX3N0YXR1cyh1bnNpZ25lZCBsb25nIGZsYWdzKQoreworCWludCByZXQ7CisK KwlpZiAoZmxhZ3MgJiBQUl9TVkVfU0VUX1ZMX09ORVhFQykKKwkJcmV0ID0gY3VycmVudC0+dGhy ZWFkLnN2ZV92bF9vbmV4ZWM7CisJZWxzZQorCQlyZXQgPSBjdXJyZW50LT50aHJlYWQuc3ZlX3Zs OworCisJaWYgKHRlc3RfdGhyZWFkX2ZsYWcoVElGX1NWRV9WTF9JTkhFUklUKSkKKwkJcmV0IHw9 IFBSX1NWRV9WTF9JTkhFUklUOworCisJcmV0dXJuIHJldDsKK30KKworLyogUFJfU1ZFX1NFVF9W TCAqLworaW50IHN2ZV9zZXRfY3VycmVudF92bCh1bnNpZ25lZCBsb25nIGFyZykKK3sKKwl1bnNp Z25lZCBsb25nIHZsLCBmbGFnczsKKwlpbnQgcmV0OworCisJdmwgPSBhcmcgJiBQUl9TVkVfVkxf TEVOX01BU0s7CisJZmxhZ3MgPSBhcmcgJiB+dmw7CisKKwlpZiAoIXN5c3RlbV9zdXBwb3J0c19z dmUoKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlyZXQgPSBzdmVfc2V0X3ZlY3Rvcl9sZW5ndGgo Y3VycmVudCwgdmwsIGZsYWdzKTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCisJcmV0dXJu IHN2ZV9wcmN0bF9zdGF0dXMoZmxhZ3MpOworfQorCisvKiBQUl9TVkVfR0VUX1ZMICovCitpbnQg c3ZlX2dldF9jdXJyZW50X3ZsKHZvaWQpCit7CisJaWYgKCFzeXN0ZW1fc3VwcG9ydHNfc3ZlKCkp CisJCXJldHVybiAtRUlOVkFMOworCisJcmV0dXJuIHN2ZV9wcmN0bF9zdGF0dXMoMCk7Cit9CisK Ky8qCiAgKiBCaXRtYXAgZm9yIHRlbXBvcmFyeSBzdG9yYWdlIG9mIHRoZSBwZXItQ1BVIHNldCBv ZiBzdXBwb3J0ZWQgdmVjdG9yIGxlbmd0aHMKICAqIGR1cmluZyBzZWNvbmRhcnkgYm9vdC4KICAq LwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2xpbnV4L3ByY3RsLmggYi9pbmNsdWRlL3VhcGkv bGludXgvcHJjdGwuaAppbmRleCAxYjY0OTAxLi4xZWY5MzcwIDEwMDY0NAotLS0gYS9pbmNsdWRl L3VhcGkvbGludXgvcHJjdGwuaAorKysgYi9pbmNsdWRlL3VhcGkvbGludXgvcHJjdGwuaApAQCAt MTk4LDcgKzE5OCwxMSBAQCBzdHJ1Y3QgcHJjdGxfbW1fbWFwIHsKICMgZGVmaW5lIFBSX0NBUF9B TUJJRU5UX0NMRUFSX0FMTAk0CiAKIC8qIGFybTY0IFNjYWxhYmxlIFZlY3RvciBFeHRlbnNpb24g Y29udHJvbHMgKi8KKy8qIEZsYWcgdmFsdWVzIG11c3QgYmUga2VwdCBpbiBzeW5jIHdpdGggcHRy YWNlIE5UX0FSTV9TVkUgaW50ZXJmYWNlICovCisjZGVmaW5lIFBSX1NWRV9TRVRfVkwJCQk0OAkv KiBzZXQgdGFzayB2ZWN0b3IgbGVuZ3RoICovCiAjIGRlZmluZSBQUl9TVkVfU0VUX1ZMX09ORVhF QwkJKDEgPDwgMTgpIC8qIGRlZmVyIGVmZmVjdCB1bnRpbCBleGVjICovCisjZGVmaW5lIFBSX1NW RV9HRVRfVkwJCQk0OQkvKiBnZXQgdGFzayB2ZWN0b3IgbGVuZ3RoICovCisvKiBCaXRzIGNvbW1v biB0byBQUl9TVkVfU0VUX1ZMIGFuZCBQUl9TVkVfR0VUX1ZMICovCiAjIGRlZmluZSBQUl9TVkVf VkxfTEVOX01BU0sJCTB4ZmZmZgogIyBkZWZpbmUgUFJfU1ZFX1ZMX0lOSEVSSVQJCSgxIDw8IDE3 KSAvKiBpbmhlcml0IGFjcm9zcyBleGVjICovCiAKZGlmZiAtLWdpdCBhL2tlcm5lbC9zeXMuYyBi L2tlcm5lbC9zeXMuYwppbmRleCA5YWViYzI5Li5jNTQxOTE2IDEwMDY0NAotLS0gYS9rZXJuZWwv c3lzLmMKKysrIGIva2VybmVsL3N5cy5jCkBAIC0xMTAsNiArMTEwLDEyIEBACiAjaWZuZGVmIFNF VF9GUF9NT0RFCiAjIGRlZmluZSBTRVRfRlBfTU9ERShhLGIpCSgtRUlOVkFMKQogI2VuZGlmCisj aWZuZGVmIFNWRV9TRVRfVkwKKyMgZGVmaW5lIFNWRV9TRVRfVkwoYSkJCSgtRUlOVkFMKQorI2Vu ZGlmCisjaWZuZGVmIFNWRV9HRVRfVkwKKyMgZGVmaW5lIFNWRV9HRVRfVkwoKQkJKC1FSU5WQUwp CisjZW5kaWYKIAogLyoKICAqIHRoaXMgaXMgd2hlcmUgdGhlIHN5c3RlbS13aWRlIG92ZXJmbG93 IFVJRCBhbmQgR0lEIGFyZSBkZWZpbmVkLCBmb3IKQEAgLTIzODUsNiArMjM5MSwxMiBAQCBTWVND QUxMX0RFRklORTUocHJjdGwsIGludCwgb3B0aW9uLCB1bnNpZ25lZCBsb25nLCBhcmcyLCB1bnNp Z25lZCBsb25nLCBhcmczLAogCWNhc2UgUFJfR0VUX0ZQX01PREU6CiAJCWVycm9yID0gR0VUX0ZQ X01PREUobWUpOwogCQlicmVhazsKKwljYXNlIFBSX1NWRV9TRVRfVkw6CisJCWVycm9yID0gU1ZF X1NFVF9WTChhcmcyKTsKKwkJYnJlYWs7CisJY2FzZSBQUl9TVkVfR0VUX1ZMOgorCQllcnJvciA9 IFNWRV9HRVRfVkwoKTsKKwkJYnJlYWs7CiAJZGVmYXVsdDoKIAkJZXJyb3IgPSAtRUlOVkFMOwog CQlicmVhazsKLS0gCjIuMS40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwprdm1hcm0gbWFpbGluZyBsaXN0Cmt2bWFybUBsaXN0cy5jcy5jb2x1bWJpYS5l ZHUKaHR0cHM6Ly9saXN0cy5jcy5jb2x1bWJpYS5lZHUvbWFpbG1hbi9saXN0aW5mby9rdm1hcm0K