From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kees Cook Subject: Re: [PATCH v15 00/17] arm64: untag user pointers passed to the kernel Date: Tue, 21 May 2019 17:04:39 -0700 Message-ID: <201905211633.6C0BF0C2@keescook> References: <20190517144931.GA56186@arrakis.emea.arm.com> <20190521182932.sm4vxweuwo5ermyd@mbp> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20190521182932.sm4vxweuwo5ermyd@mbp> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Catalin Marinas Cc: Mark Rutland , kvm@vger.kernel.org, Szabolcs Nagy , Will Deacon , dri-devel@lists.freedesktop.org, Linux Memory Management List , Khalid Aziz , "open list:KERNEL SELFTEST FRAMEWORK" , Vincenzo Frascino , Jacob Bramley , Leon Romanovsky , linux-rdma@vger.kernel.org, amd-gfx@lists.freedesktop.org, Dmitry Vyukov , Dave Martin , Evgenii Stepanov , linux-media@vger.kernel.org, Kevin Brodsky , Ruben Ayrapetyan , Andrey Konovalov , Ramana Radhakrishnan , Alex Williamson , Yishai List-Id: linux-rdma@vger.kernel.org T24gVHVlLCBNYXkgMjEsIDIwMTkgYXQgMDc6Mjk6MzNQTSArMDEwMCwgQ2F0YWxpbiBNYXJpbmFz IHdyb3RlOgo+IE9uIE1vbiwgTWF5IDIwLCAyMDE5IGF0IDA0OjUzOjA3UE0gLTA3MDAsIEV2Z2Vu aWkgU3RlcGFub3Ygd3JvdGU6Cj4gPiBPbiBGcmksIE1heSAxNywgMjAxOSBhdCA3OjQ5IEFNIENh dGFsaW4gTWFyaW5hcyA8Y2F0YWxpbi5tYXJpbmFzQGFybS5jb20+IHdyb3RlOgo+ID4gPiBJTU8g KFJGQyBmb3Igbm93KSwgSSBzZWUgdHdvIHdheXMgZm9yd2FyZDoKPiA+ID4gWy4uLl0KPiA+ID4g Mi4gU2ltaWxhciBzaGltIHRvIHRoZSBhYm92ZSBsaWJjIHdyYXBwZXIgYnV0IGluc2lkZSB0aGUg a2VybmVsCj4gPiA+ICAgIChhcmNoL2FybTY0IG9ubHk7IG1vc3QgcG9pbnRlciBhcmd1bWVudHMg Y291bGQgYmUgY292ZXJlZCB3aXRoIGFuCj4gPiA+ICAgIF9fU0NfQ0FTVCBzaW1pbGFyIHRvIHRo ZSBzMzkwIG9uZSkuIFRoZXJlIGFyZSB0d28gZGlmZmVyZW5jZXMgZnJvbQo+ID4gPiAgICB3aGF0 IHdlJ3ZlIGRpc2N1c3NlZCBpbiB0aGUgcGFzdDoKPiA+ID4KPiA+ID4gICAgYSkgdGhpcyBpcyBh biBvcHQtaW4gYnkgdGhlIHVzZXIgd2hpY2ggd291bGQgaGF2ZSB0byBleHBsaWNpdGx5IGNhbGwK PiA+ID4gICAgICAgcHJjdGwoKS4gSWYgaXQgcmV0dXJucyAtRU5PVFNVUFAgZXRjLiwgdGhlIHVz ZXIgd29uJ3QgYmUgYWxsb3dlZAo+ID4gPiAgICAgICB0byBwYXNzIHRhZ2dlZCBwb2ludGVycyB0 byB0aGUga2VybmVsLiBUaGlzIHdvdWxkIHByb2JhYmx5IGJlIHRoZQo+ID4gPiAgICAgICByZXNw b25zaWJpbGl0eSBvZiB0aGUgQyBsaWIgdG8gbWFrZSBzdXJlIGl0IGRvZXNuJ3QgdGFnIGhlYXAK PiA+ID4gICAgICAgYWxsb2NhdGlvbnMuIElmIHRoZSB1c2VyIGRpZCBub3Qgb3B0LWluLCB0aGUg c3lzY2FsbHMgYXJlIHJvdXRlZAo+ID4gPiAgICAgICB0aHJvdWdoIHRoZSBub3JtYWwgcGF0aCAo bm8gdW50YWdnaW5nIGFkZHJlc3Mgc2hpbSkuCj4gPiA+Cj4gPiA+ICAgIGIpIGlvY3RsKCkgYW5k IG90aGVyIGJsYWNrbGlzdGVkIHN5c2NhbGxzIChwcmN0bCkgd2lsbCBub3QgYWNjZXB0Cj4gPiA+ ICAgICAgIHRhZ2dlZCBwb2ludGVycyAodG8gYmUgZG9jdW1lbnRlZCBpbiBWaWNlbnpvJ3MgQUJJ IHBhdGNoZXMpLgo+ID4KPiA+IFRoZSB3YXkgSSBzZWUgaXQsIGEgcGF0Y2ggdGhhdCBicmVha3Mg aGFuZGxpbmcgb2YgdGFnZ2VkIHBvaW50ZXJzIGlzCj4gPiBub3QgdGhhdCBkaWZmZXJlbnQgZnJv bSwgc2F5LCBhIHBhdGNoIHRoYXQgYWRkcyBhIHdpbGQgcG9pbnRlcgo+ID4gZGVyZWZlcmVuY2Uu IEJvdGggYXJlIGJ1Z3M7IHRoZSBkaWZmZXJlbmNlIGlzIHRoYXQgKGEpIHRoZSBmb3JtZXIKPiA+ IGJyZWFrcyBhIHJlbGF0aXZlbHkgdW5jb21tb24gdGFyZ2V0IGFuZCAoYikgaXQncyBhcmd1YWJs eSBhbiBlYXNpZXIKPiA+IG1pc3Rha2UgdG8gbWFrZS4gSWYgTVRFIGFkb3B0aW9uIGdvZXMgd2Vs bCwgKGEpIHdpbGwgbm90IGJlIHRoZSBjYXNlCj4gPiBmb3IgbG9uZy4KPiAKPiBJdCdzIGFsc28g dGhlIGZhY3Qgc3VjaCBwYXRjaCB3b3VsZCBnbyB1bm5vdGljZWQgZm9yIGEgbG9uZyB0aW1lIHVu dGlsCj4gc29tZW9uZSBleGVyY2lzZXMgdGhhdCBjb2RlIHBhdGguIEFuZCB3aGVuIHRoZXkgZG8s IHRoZSB1c2VyIHdvdWxkIGJlCj4gcHJldHR5IG11Y2ggaW4gdGhlIGRhcmsgdHJ5aW5nIHRvIGZp Z3VyZSB3aGF0IHdoYXQgd2VudCB3cm9uZywgd2h5IGEKPiBTSUdTRUdWIG9yIC1FRkFVTFQgaGFw cGVuZWQuIFdoYXQncyB3b3JzZSwgd2UgY2FuJ3QgZXZlbiBzYXkgd2UgZml4ZWQKPiBhbGwgdGhl IHBsYWNlcyB3aGVyZSBpdCBtYXR0ZXJzIGluIHRoZSBjdXJyZW50IGtlcm5lbCBjb2RlYmFzZSAo aWdub3JpbmcKPiBmdXR1cmUgcGF0Y2hlcykuCgpTbywgbG9va2luZyBmb3J3YXJkIGEgYml0LCB0 aGlzIGlzbid0IGdvaW5nIHRvIGJlIGFuIEFSTS1zcGVjaWZpYyBpc3N1ZQpmb3IgbG9uZy4gSW4g ZmFjdCwgSSB0aGluayB3ZSBzaG91bGRuJ3QgaGF2ZSBhcm0tc3BlY2lmaWMgc3lzY2FsbCB3cmFw cGVycwppbiB0aGlzIHNlcmllczogSSB0aGluayB1bnRhZ2dlZF9hZGRyKCkgc2hvdWxkIGxpa2Vs eSBiZSBhZGRlZCBhdCB0aGUKdG9wLWxldmVsIGFuZCBoYXZlIGl0IGJlIGEgbm8tb3AgZm9yIG90 aGVyIGFyY2hpdGVjdHVyZXMuIFNvIGdpdmVuIHRoaXMKYmVjb21pbmcgYSBrZXJuZWwtd2lkZSBt dWx0aS1hcmNoaXRlY3R1cmUgaXNzdWUgKHVuZGVyIHRoZSBhc3N1bXB0aW9uCnRoYXQgeDg2LCBS SVNDLVYsIGFuZCBvdGhlcnMgd2lsbCBnYWluIHNpbWlsYXIgVEJJIG9yIE1URSB0aGluZ3MpLAp3 ZSBzaG91bGQgc29sdmUgaXQgaW4gYSB3YXkgdGhhdCB3ZSBjYW4gcmUtdXNlLgoKV2UgbmVlZCBz b21ldGhpbmcgdGhhdCBpcyBnb2luZyB0byB3b3JrIGV2ZXJ5d2hlcmUuIEFuZCBpdCBuZWVkcyB0 byBiZQpzdXBwb3J0ZWQgYnkgdGhlIGtlcm5lbCBmb3IgdGhlIHNpbXBsZSByZWFzb24gdGhhdCB0 aGUga2VybmVsIG5lZWRzIHRvCmRvIE1URSBjaGVja3MgZHVyaW5nIGNvcHlfZnJvbV91c2VyKCk6 IGhhdmluZyB0aGF0IGluZm9ybWF0aW9uIHN0cmlwcGVkCm1lYW5zIHdlIGxvc2UgYW55IHVzZXJz cGFjZS1hc3NpZ25lZCBNVEUgcHJvdGVjdGlvbnMgaWYgdGhleSBnZXQgaGFuZGxlZApieSB0aGUg a2VybmVsLCB3aGljaCBpcyBhIHRvdGFsIG5vbi1zdGFydGVyLCBJTU8uCgpBcyBhbiBhc2lkZTog SSB0aGluayBTcGFyYyBBREkgc3VwcG9ydCBpbiBMaW51eCBhY3R1YWxseSBzaWRlLXN0ZXBwZWQK dGhpc1sxXSAoaS5lLiBjaG9zZSAic29sdXRpb24gMSIpOiAiQWxsIGFkZHJlc3NlcyBwYXNzZWQg dG8ga2VybmVsIG11c3QKYmUgbm9uLUFESSB0YWdnZWQgYWRkcmVzc2VzLiIgKEFuZCBzYWRseSwg Iktlcm5lbCBkb2VzIG5vdCBlbmFibGUgQURJCmZvciBrZXJuZWwgY29kZS4iKSBJIHRoaW5rIHRo aXMgd2FzIGEgbWlzdGFrZSB3ZSBzaG91bGQgbm90IHJlcGVhdCBmb3IKYXJtNjQgKHdlIGRvIHNl ZW0gdG8gYmUgYXQgbGVhc3QgaW4gYWdyZWVtZW50IGFib3V0IHRoaXMsIEkgdGhpbmspLgoKWzFd IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3BhdGNod29yay9wYXRjaC82NTQ0ODEvCgo+ID4gVGhp cyBpcyBhIGJpdCBvZiBhIGNoaWNrZW4tYW5kLWVnZyBwcm9ibGVtLiBJbiBhIHdvcmxkIHdoZXJl IG1lbW9yeQo+ID4gYWxsb2NhdG9ycyBvbiBvbmUgb3Igc2V2ZXJhbCBwb3B1bGFyIHBsYXRmb3Jt cyBnZW5lcmF0ZSBwb2ludGVycyB3aXRoCj4gPiBub24temVybyB0YWdzLCBhbnkgc3VjaCBicmVh a2FnZSB3aWxsIGJlIGNhdWdodCBpbiB0ZXN0aW5nLgo+ID4gVW5mb3J0dW5hdGVseSB0byByZWFj aCB0aGF0IHN0YXRlIHdlIG5lZWQgdGhlIGtlcm5lbCB0byBzdGFydAo+ID4gYWNjZXB0aW5nIHRh Z2dlZCBwb2ludGVycyBmaXJzdCwgYW5kIHRoZW4gaG9sZCBvbiBmb3IgYSBjb3VwbGUgb2YKPiA+ IHllYXJzIHVudGlsIHVzZXJzcGFjZSBjYXRjaGVzIHVwLgo+IAo+IFdvdWxkIHRoZSBrZXJuZWwg YWxzbyBjYXRjaCB1cCB3aXRoIHByb3ZpZGluZyBhIHN0YWJsZSBBQkk/IEJlY2F1c2Ugd2UKPiBo YXZlIHR3byBtb3ZpbmcgdGFyZ2V0cy4KPiAKPiBPbiBvbmUgaGFuZCwgeW91IGhhdmUgQW5kcm9p ZCBvciBzb21lIExpbnV4IGRpc3RybyB0aGF0IHN0aWNrIHRvIGEKPiBzdGFibGUga2VybmVsIHZl cnNpb24gZm9yIHNvbWUgdGltZSwgc28gdGhleSBoYXZlIGJldHRlciBjaGFuY2Ugb2YKPiBjbGVh cmluZyBtb3N0IG9mIHRoZSBwcm9ibGVtcy4gT24gdGhlIG90aGVyIGhhbmQsIHdlIGhhdmUgbWFp bmxpbmUKPiBrZXJuZWwgdGhhdCBnZXRzIG92ZXIgNTAwSyBsaW5lcyBldmVyeSByZWxlYXNlLiBB cyBtYWludGFpbmVyLCBJIGNhbid0Cj4gcmVseSBvbiBteSB0ZXN0aW5nIGFsb25lIGFzIHRoaXMg aXMgb24gYSBsaW1pdGVkIG51bWJlciBvZiBwbGF0Zm9ybXMuIFNvCj4gbXkgY29uY2VybiBpcyB0 aGF0IGV2ZXJ5IGtlcm5lbCByZWxlYXNlIGhhcyBhIHNpZ25pZmljYW50IGNoYW5jZSBvZgo+IGJy ZWFraW5nIHRoZSBBQkksIHVubGVzcyB3ZSBoYXZlIGEgYmV0dGVyIHdheSBvZiBpZGVudGlmeWlu ZyBwb3RlbnRpYWwKPiBpc3N1ZXMuCgpJIGp1c3Qgd2FudCB0byBtYWtlIHN1cmUgSSBmdWxseSB1 bmRlcnN0YW5kIHlvdXIgY29uY2VybiBhYm91dCB0aGlzCmJlaW5nIGFuIEFCSSBicmVhaywgYW5k IEkgd29yayBiZXN0IHdpdGggZXhhbXBsZXMuIFRoZSBjbG9zZXN0IHNpdHVhdGlvbgpJIGNhbiBz ZWUgd291bGQgYmU6CgotIHNvbWUgcHJvZ3JhbSBoYXMgbm8gaWRlYSBhYm91dCBNVEUKLSBtYWxs b2MoKSBzdGFydHMgcmV0dXJuaW5nIE1URS10YWdnZWQgYWRkcmVzc2VzCi0gcHJvZ3JhbSBkb2Vz bid0IGJyZWFrIGZyb20gdGhhdCBjaGFuZ2UKLSBwcm9ncmFtIHVzZXMgc29tZSBzeXNjYWxsIHRo YXQgaXMgbWlzc2luZyB1bnRhZ2dlZF9hZGRyKCkgYW5kIGZhaWxzCi0ga2VybmVsIGhhcyBub3cg YnJva2VuIHVzZXJzcGFjZSB0aGF0IHVzZWQgdG8gd29yawoKVGhlIHRyb3VibGUgSSBzZWUgd2l0 aCB0aGlzIGlzIHRoYXQgaXQgaXMgbGFyZ2VseSB0aGVvcmV0aWNhbCBhbmQKcmVxdWlyZXMgcGFy dCBvZiB1c2Vyc3BhY2UgdG8gY29sbHVkZSB0byBzdGFydCB1c2luZyBhIG5ldyBDUFUgZmVhdHVy ZQp0aGF0IHRpY2tsZXMgYSBidWcgaW4gdGhlIGtlcm5lbC4gQXMgSSB1bmRlcnN0YW5kIHRoZSBn b2xkZW4gcnVsZSwKdGhpcyBpcyBhIGJ1ZyBpbiB0aGUga2VybmVsIChhIG1pc3NlZCBpb2N0bCgp IG9yIHN1Y2gpIHRvIGJlIGZpeGVkLApub3QgYSBnbG9iYWwgYnJlYWtpbmcgb2Ygc29tZSB1c2Vy c3BhY2UgYmVoYXZpb3IuCgpJIGZlZWwgbGlrZSBJJ20gbWlzc2luZyBzb21ldGhpbmcgYWJvdXQg dGhpcyBiZWluZyBzZWVuIGFzIGFuIEFCSQpicmVhay4gVGhlIGtlcm5lbCBhbHJlYWR5IGZhaWxz IG9uIHVzZXJzcGFjZSBhZGRyZXNzZXMgdGhhdCBoYXZlIGhpZ2gKYml0cyBzZXQgLS0gYXJlIHRo ZXJlIHRoaW5ncyB0aGF0IF9kZXBlbmRfIG9uIHRoaXMgZmFpbHVyZSB0byBvcGVyYXRlPwoKLS0g CktlZXMgQ29vawpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=