From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Martin Subject: [PATCH v5 22/30] arm64/sve: Add prctl controls for userspace vector length management Date: Tue, 31 Oct 2017 15:51:14 +0000 Message-ID: <1509465082-30427-23-git-send-email-Dave.Martin@arm.com> References: <1509465082-30427-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 AD93E49D55 for ; Tue, 31 Oct 2017 11:50:39 -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 8GEH8JNlj7D9 for ; Tue, 31 Oct 2017 11:50:38 -0400 (EDT) Received: from foss.arm.com (usa-sjc-mx-foss1.foss.arm.com [217.140.101.70]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 4E0CD49D8F for ; Tue, 31 Oct 2017 11:50:38 -0400 (EDT) In-Reply-To: <1509465082-30427-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 ZSA8YWxleC5iZW5uZWVAbGluYXJvLm9yZz4KU2VlIHYzIHBvc3RpbmcgZm9yIGhpc3RvcnkuCi0t LQogYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9mcHNpbWQuaCAgICB8IDE0ICsrKysrKysrKysrCiBh cmNoL2FybTY0L2luY2x1ZGUvYXNtL3Byb2Nlc3Nvci5oIHwgIDQgKysrCiBhcmNoL2FybTY0L2tl cm5lbC9mcHNpbWQuYyAgICAgICAgIHwgNTAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKIGluY2x1ZGUvdWFwaS9saW51eC9wcmN0bC5oICAgICAgICAgfCAgNCArKysKIGtl cm5lbC9zeXMuYyAgICAgICAgICAgICAgICAgICAgICAgfCAxMiArKysrKysrKysKIDUgZmlsZXMg Y2hhbmdlZCwgODQgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQvaW5jbHVk ZS9hc20vZnBzaW1kLmggYi9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL2Zwc2ltZC5oCmluZGV4IGQ3 NTRlNWEuLmI4Njg0MTIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vZnBzaW1k LmgKKysrIGIvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9mcHNpbWQuaApAQCAtMTcsNiArMTcsNyBA QAogI2RlZmluZSBfX0FTTV9GUF9ICiAKICNpbmNsdWRlIDxhc20vcHRyYWNlLmg+CisjaW5jbHVk ZSA8YXNtL2Vycm5vLmg+CiAKICNpZm5kZWYgX19BU1NFTUJMWV9fCiAKQEAgLTk4LDYgKzk5LDkg QEAgZXh0ZXJuIHZvaWQgc3ZlX3N5bmNfZnJvbV9mcHNpbWRfemVyb3BhZChzdHJ1Y3QgdGFza19z dHJ1Y3QgKnRhc2spOwogZXh0ZXJuIGludCBzdmVfc2V0X3ZlY3Rvcl9sZW5ndGgoc3RydWN0IHRh c2tfc3RydWN0ICp0YXNrLAogCQkJCSB1bnNpZ25lZCBsb25nIHZsLCB1bnNpZ25lZCBsb25nIGZs YWdzKTsKIAorZXh0ZXJuIGludCBzdmVfc2V0X2N1cnJlbnRfdmwodW5zaWduZWQgbG9uZyBhcmcp OworZXh0ZXJuIGludCBzdmVfZ2V0X2N1cnJlbnRfdmwodm9pZCk7CisKIC8qCiAgKiBQcm9iaW5n IGFuZCBzZXR1cCBmdW5jdGlvbnMuCiAgKiBDYWxscyB0byB0aGVzZSBmdW5jdGlvbnMgbXVzdCBi ZSBzZXJpYWxpc2VkIHdpdGggb25lIGFub3RoZXIuCkBAIC0xMTQsNiArMTE4LDE2IEBAIHN0YXRp YyBpbmxpbmUgdm9pZCBmcHNpbWRfcmVsZWFzZV90YXNrKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFz aykgeyB9CiBzdGF0aWMgaW5saW5lIHZvaWQgc3ZlX3N5bmNfdG9fZnBzaW1kKHN0cnVjdCB0YXNr X3N0cnVjdCAqdGFzaykgeyB9CiBzdGF0aWMgaW5saW5lIHZvaWQgc3ZlX3N5bmNfZnJvbV9mcHNp bWRfemVyb3BhZChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2spIHsgfQogCitzdGF0aWMgaW5saW5l IGludCBzdmVfc2V0X2N1cnJlbnRfdmwodW5zaWduZWQgbG9uZyBhcmcpCit7CisJcmV0dXJuIC1F SU5WQUw7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IHN2ZV9nZXRfY3VycmVudF92bCh2b2lkKQor eworCXJldHVybiAtRUlOVkFMOworfQorCiBzdGF0aWMgaW5saW5lIHZvaWQgc3ZlX2luaXRfdnFf bWFwKHZvaWQpIHsgfQogc3RhdGljIGlubGluZSB2b2lkIHN2ZV91cGRhdGVfdnFfbWFwKHZvaWQp IHsgfQogc3RhdGljIGlubGluZSBpbnQgc3ZlX3ZlcmlmeV92cV9tYXAodm9pZCkgeyByZXR1cm4g MDsgfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9wcm9jZXNzb3IuaCBiL2Fy Y2gvYXJtNjQvaW5jbHVkZS9hc20vcHJvY2Vzc29yLmgKaW5kZXggYzZmZGRiMC4uMDIzY2FjYiAx MDA2NDQKLS0tIGEvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9wcm9jZXNzb3IuaAorKysgYi9hcmNo L2FybTY0L2luY2x1ZGUvYXNtL3Byb2Nlc3Nvci5oCkBAIC0yMTcsNSArMjE3LDkgQEAgc3RhdGlj IGlubGluZSB2b2lkIHNwaW5fbG9ja19wcmVmZXRjaChjb25zdCB2b2lkICpwdHIpCiBpbnQgY3B1 X2VuYWJsZV9wYW4odm9pZCAqX191bnVzZWQpOwogaW50IGNwdV9lbmFibGVfY2FjaGVfbWFpbnRf dHJhcCh2b2lkICpfX3VudXNlZCk7CiAKKy8qIFVzZXJzcGFjZSBpbnRlcmZhY2UgZm9yIFBSX1NW RV97U0VULEdFVH1fVkwgcHJjdGwoKXM6ICovCisjZGVmaW5lIFNWRV9TRVRfVkwoYXJnKQlzdmVf c2V0X2N1cnJlbnRfdmwoYXJnKQorI2RlZmluZSBTVkVfR0VUX1ZMKCkJc3ZlX2dldF9jdXJyZW50 X3ZsKCkKKwogI2VuZGlmIC8qIF9fQVNTRU1CTFlfXyAqLwogI2VuZGlmIC8qIF9fQVNNX1BST0NF U1NPUl9IICovCmRpZmYgLS1naXQgYS9hcmNoL2FybTY0L2tlcm5lbC9mcHNpbWQuYyBiL2FyY2gv YXJtNjQva2VybmVsL2Zwc2ltZC5jCmluZGV4IDU3MTU2MjIuLmNiYjJjNjMgMTAwNjQ0Ci0tLSBh L2FyY2gvYXJtNjQva2VybmVsL2Zwc2ltZC5jCisrKyBiL2FyY2gvYXJtNjQva2VybmVsL2Zwc2lt ZC5jCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSA8bGludXgvaXJxZmxhZ3MuaD4KICNpbmNs dWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+CisjaW5jbHVkZSA8 bGludXgvcHJjdGwuaD4KICNpbmNsdWRlIDxsaW51eC9wcmVlbXB0Lmg+CiAjaW5jbHVkZSA8bGlu dXgvcHJjdGwuaD4KICNpbmNsdWRlIDxsaW51eC9wdHJhY2UuaD4KQEAgLTU1OCw2ICs1NTksNTUg QEAgaW50IHN2ZV9zZXRfdmVjdG9yX2xlbmd0aChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2ssCiB9 CiAKIC8qCisgKiBFbmNvZGUgdGhlIGN1cnJlbnQgdmVjdG9yIGxlbmd0aCBhbmQgZmxhZ3MgZm9y IHJldHVybi4KKyAqIFRoaXMgaXMgb25seSByZXF1aXJlZCBmb3IgcHJjdGwoKTogcHRyYWNlIGhh cyBzZXBhcmF0ZSBmaWVsZHMKKyAqCisgKiBmbGFncyBhcmUgYXMgZm9yIHN2ZV9zZXRfdmVjdG9y X2xlbmd0aCgpLgorICovCitzdGF0aWMgaW50IHN2ZV9wcmN0bF9zdGF0dXModW5zaWduZWQgbG9u ZyBmbGFncykKK3sKKwlpbnQgcmV0OworCisJaWYgKGZsYWdzICYgUFJfU1ZFX1NFVF9WTF9PTkVY RUMpCisJCXJldCA9IGN1cnJlbnQtPnRocmVhZC5zdmVfdmxfb25leGVjOworCWVsc2UKKwkJcmV0 ID0gY3VycmVudC0+dGhyZWFkLnN2ZV92bDsKKworCWlmICh0ZXN0X3RocmVhZF9mbGFnKFRJRl9T VkVfVkxfSU5IRVJJVCkpCisJCXJldCB8PSBQUl9TVkVfVkxfSU5IRVJJVDsKKworCXJldHVybiBy ZXQ7Cit9CisKKy8qIFBSX1NWRV9TRVRfVkwgKi8KK2ludCBzdmVfc2V0X2N1cnJlbnRfdmwodW5z aWduZWQgbG9uZyBhcmcpCit7CisJdW5zaWduZWQgbG9uZyB2bCwgZmxhZ3M7CisJaW50IHJldDsK KworCXZsID0gYXJnICYgUFJfU1ZFX1ZMX0xFTl9NQVNLOworCWZsYWdzID0gYXJnICYgfnZsOwor CisJaWYgKCFzeXN0ZW1fc3VwcG9ydHNfc3ZlKCkpCisJCXJldHVybiAtRUlOVkFMOworCisJcmV0 ID0gc3ZlX3NldF92ZWN0b3JfbGVuZ3RoKGN1cnJlbnQsIHZsLCBmbGFncyk7CisJaWYgKHJldCkK KwkJcmV0dXJuIHJldDsKKworCXJldHVybiBzdmVfcHJjdGxfc3RhdHVzKGZsYWdzKTsKK30KKwor LyogUFJfU1ZFX0dFVF9WTCAqLworaW50IHN2ZV9nZXRfY3VycmVudF92bCh2b2lkKQoreworCWlm ICghc3lzdGVtX3N1cHBvcnRzX3N2ZSgpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXJldHVybiBz dmVfcHJjdGxfc3RhdHVzKDApOworfQorCisvKgogICogQml0bWFwIGZvciB0ZW1wb3Jhcnkgc3Rv cmFnZSBvZiB0aGUgcGVyLUNQVSBzZXQgb2Ygc3VwcG9ydGVkIHZlY3RvciBsZW5ndGhzCiAgKiBk dXJpbmcgc2Vjb25kYXJ5IGJvb3QuCiAgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9saW51 eC9wcmN0bC5oIGIvaW5jbHVkZS91YXBpL2xpbnV4L3ByY3RsLmgKaW5kZXggMWI2NDkwMS4uMWVm OTM3MCAxMDA2NDQKLS0tIGEvaW5jbHVkZS91YXBpL2xpbnV4L3ByY3RsLmgKKysrIGIvaW5jbHVk ZS91YXBpL2xpbnV4L3ByY3RsLmgKQEAgLTE5OCw3ICsxOTgsMTEgQEAgc3RydWN0IHByY3RsX21t X21hcCB7CiAjIGRlZmluZSBQUl9DQVBfQU1CSUVOVF9DTEVBUl9BTEwJNAogCiAvKiBhcm02NCBT Y2FsYWJsZSBWZWN0b3IgRXh0ZW5zaW9uIGNvbnRyb2xzICovCisvKiBGbGFnIHZhbHVlcyBtdXN0 IGJlIGtlcHQgaW4gc3luYyB3aXRoIHB0cmFjZSBOVF9BUk1fU1ZFIGludGVyZmFjZSAqLworI2Rl ZmluZSBQUl9TVkVfU0VUX1ZMCQkJNDgJLyogc2V0IHRhc2sgdmVjdG9yIGxlbmd0aCAqLwogIyBk ZWZpbmUgUFJfU1ZFX1NFVF9WTF9PTkVYRUMJCSgxIDw8IDE4KSAvKiBkZWZlciBlZmZlY3QgdW50 aWwgZXhlYyAqLworI2RlZmluZSBQUl9TVkVfR0VUX1ZMCQkJNDkJLyogZ2V0IHRhc2sgdmVjdG9y IGxlbmd0aCAqLworLyogQml0cyBjb21tb24gdG8gUFJfU1ZFX1NFVF9WTCBhbmQgUFJfU1ZFX0dF VF9WTCAqLwogIyBkZWZpbmUgUFJfU1ZFX1ZMX0xFTl9NQVNLCQkweGZmZmYKICMgZGVmaW5lIFBS X1NWRV9WTF9JTkhFUklUCQkoMSA8PCAxNykgLyogaW5oZXJpdCBhY3Jvc3MgZXhlYyAqLwogCmRp ZmYgLS1naXQgYS9rZXJuZWwvc3lzLmMgYi9rZXJuZWwvc3lzLmMKaW5kZXggOWFlYmMyOS4uYzU0 MTkxNiAxMDA2NDQKLS0tIGEva2VybmVsL3N5cy5jCisrKyBiL2tlcm5lbC9zeXMuYwpAQCAtMTEw LDYgKzExMCwxMiBAQAogI2lmbmRlZiBTRVRfRlBfTU9ERQogIyBkZWZpbmUgU0VUX0ZQX01PREUo YSxiKQkoLUVJTlZBTCkKICNlbmRpZgorI2lmbmRlZiBTVkVfU0VUX1ZMCisjIGRlZmluZSBTVkVf U0VUX1ZMKGEpCQkoLUVJTlZBTCkKKyNlbmRpZgorI2lmbmRlZiBTVkVfR0VUX1ZMCisjIGRlZmlu ZSBTVkVfR0VUX1ZMKCkJCSgtRUlOVkFMKQorI2VuZGlmCiAKIC8qCiAgKiB0aGlzIGlzIHdoZXJl IHRoZSBzeXN0ZW0td2lkZSBvdmVyZmxvdyBVSUQgYW5kIEdJRCBhcmUgZGVmaW5lZCwgZm9yCkBA IC0yMzg1LDYgKzIzOTEsMTIgQEAgU1lTQ0FMTF9ERUZJTkU1KHByY3RsLCBpbnQsIG9wdGlvbiwg dW5zaWduZWQgbG9uZywgYXJnMiwgdW5zaWduZWQgbG9uZywgYXJnMywKIAljYXNlIFBSX0dFVF9G UF9NT0RFOgogCQllcnJvciA9IEdFVF9GUF9NT0RFKG1lKTsKIAkJYnJlYWs7CisJY2FzZSBQUl9T VkVfU0VUX1ZMOgorCQllcnJvciA9IFNWRV9TRVRfVkwoYXJnMik7CisJCWJyZWFrOworCWNhc2Ug UFJfU1ZFX0dFVF9WTDoKKwkJZXJyb3IgPSBTVkVfR0VUX1ZMKCk7CisJCWJyZWFrOwogCWRlZmF1 bHQ6CiAJCWVycm9yID0gLUVJTlZBTDsKIAkJYnJlYWs7Ci0tIAoyLjEuNAoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Ka3ZtYXJtIG1haWxpbmcgbGlzdApr dm1hcm1AbGlzdHMuY3MuY29sdW1iaWEuZWR1Cmh0dHBzOi8vbGlzdHMuY3MuY29sdW1iaWEuZWR1 L21haWxtYW4vbGlzdGluZm8va3ZtYXJtCg==