From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pj1-x102a.google.com ([2607:f8b0:4864:20::102a]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1ly2Bj-009Tfu-L7 for linux-um@lists.infradead.org; Tue, 29 Jun 2021 01:05:21 +0000 Received: by mail-pj1-x102a.google.com with SMTP id in17-20020a17090b4391b0290170ba0ec7fcso441324pjb.4 for ; Mon, 28 Jun 2021 18:05:14 -0700 (PDT) Date: Mon, 28 Jun 2021 18:01:43 -0700 From: Andrei Vagin Subject: Re: [PATCH 2/4] arch/x86: implement the process_vm_exec syscall Message-ID: References: <20210414055217.543246-1-avagin@gmail.com> <20210414055217.543246-3-avagin@gmail.com> <87o8bpyhsw.fsf@disp2133> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <87o8bpyhsw.fsf@disp2133> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-um" Errors-To: linux-um-bounces+geert=linux-m68k.org@lists.infradead.org To: "Eric W. Biederman" Cc: Jann Horn , Andy Lutomirski , Linux Kernel Mailing List , Linux API , linux-um@lists.infradead.org, criu@openvz.org, avagin@google.com, Andrew Morton , Anton Ivanov , Christian Brauner , Dmitry Safonov <0x7f454c46@gmail.com>, Ingo Molnar , Jeff Dike , Mike Rapoport , Michael Kerrisk , Oleg Nesterov , "Peter Zijlstra (Intel)" , Richard Weinberger , Thomas Gleixner T24gTW9uLCBKdW4gMjgsIDIwMjEgYXQgMDE6MTg6MDdQTSAtMDUwMCwgRXJpYyBXLiBCaWVkZXJt YW4gd3JvdGU6Cj4gSmFubiBIb3JuIDxqYW5uaEBnb29nbGUuY29tPiB3cml0ZXM6Cj4gCj4gPiBP biBNb24sIEp1biAyOCwgMjAyMSBhdCA2OjMwIFBNIEFuZHkgTHV0b21pcnNraSA8bHV0b0BrZXJu ZWwub3JnPiB3cm90ZToKPiA+PiBPbiBNb24sIEp1biAyOCwgMjAyMSwgYXQgOToxMyBBTSwgSmFu biBIb3JuIHdyb3RlOgo+ID4+ID4gT24gV2VkLCBBcHIgMTQsIDIwMjEgYXQgNzo1OSBBTSBBbmRy ZWkgVmFnaW4gPGF2YWdpbkBnbWFpbC5jb20+IHdyb3RlOgo+ID4+ID4gPiBUaGlzIGNoYW5nZSBp bnRyb2R1Y2VzIHRoZSBuZXcgc3lzdGVtIGNhbGw6Cj4gPj4gPiA+IHByb2Nlc3Nfdm1fZXhlYyhw aWRfdCBwaWQsIHN0cnVjdCBzaWdjb250ZXh0ICp1Y3R4LCB1bnNpZ25lZCBsb25nIGZsYWdzLAo+ ID4+ID4gPiAgICAgICAgICAgICAgICAgc2lnaW5mb190ICogdWluZm8sIHNpZ3NldF90ICpzaWdt YXNrLCBzaXplX3Qgc2l6ZW1hc2spCj4gPj4gPiA+Cj4gPj4gPiA+IHByb2Nlc3Nfdm1fZXhlYyBh bGxvd3MgdG8gZXhlY3V0ZSB0aGUgY3VycmVudCBwcm9jZXNzIGluIGFuIGFkZHJlc3MKPiA+PiA+ ID4gc3BhY2Ugb2YgYW5vdGhlciBwcm9jZXNzLgo+ID4+ID4gWy4uLl0KPiA+PiA+Cj4gPj4gPiBJ IHN0aWxsIHRoaW5rIHRoYXQgdGhpcyB3aG9sZSBBUEkgaXMgZnVuZGFtZW50YWxseSB0aGUgd3Jv bmcgYXBwcm9hY2gKPiA+PiA+IGJlY2F1c2UgaXQgdHJpZXMgdG8gc2hvZWhvcm4gbXVsdGlwbGUg dXNlY2FzZXMgd2l0aCBkaWZmZXJlbnQKPiA+PiA+IHJlcXVpcmVtZW50cyBpbnRvIGEgc2luZ2xl IEFQSS4gQnV0IHRoYXQgYXNpZGU6Cj4gPj4gPgo+ID4+ID4gPiArc3RhdGljIHZvaWQgc3dhcF9t bShzdHJ1Y3QgbW1fc3RydWN0ICpwcmV2X21tLCBzdHJ1Y3QgbW1fc3RydWN0ICp0YXJnZXRfbW0p Cj4gPj4gPiA+ICt7Cj4gPj4gPiA+ICsgICAgICAgc3RydWN0IHRhc2tfc3RydWN0ICp0c2sgPSBj dXJyZW50Owo+ID4+ID4gPiArICAgICAgIHN0cnVjdCBtbV9zdHJ1Y3QgKmFjdGl2ZV9tbTsKPiA+ PiA+ID4gKwo+ID4+ID4gPiArICAgICAgIHRhc2tfbG9jayh0c2spOwo+ID4+ID4gPiArICAgICAg IC8qIEhvbGQgb2ZmIHRsYiBmbHVzaCBJUElzIHdoaWxlIHN3aXRjaGluZyBtbSdzICovCj4gPj4g PiA+ICsgICAgICAgbG9jYWxfaXJxX2Rpc2FibGUoKTsKPiA+PiA+ID4gKwo+ID4+ID4gPiArICAg ICAgIHN5bmNfbW1fcnNzKHByZXZfbW0pOwo+ID4+ID4gPiArCj4gPj4gPiA+ICsgICAgICAgdm1h Y2FjaGVfZmx1c2godHNrKTsKPiA+PiA+ID4gKwo+ID4+ID4gPiArICAgICAgIGFjdGl2ZV9tbSA9 IHRzay0+YWN0aXZlX21tOwo+ID4+ID4gPiArICAgICAgIGlmIChhY3RpdmVfbW0gIT0gdGFyZ2V0 X21tKSB7Cj4gPj4gPiA+ICsgICAgICAgICAgICAgICBtbWdyYWIodGFyZ2V0X21tKTsKPiA+PiA+ ID4gKyAgICAgICAgICAgICAgIHRzay0+YWN0aXZlX21tID0gdGFyZ2V0X21tOwo+ID4+ID4gPiAr ICAgICAgIH0KPiA+PiA+ID4gKyAgICAgICB0c2stPm1tID0gdGFyZ2V0X21tOwo+ID4+ID4KPiA+ PiA+IEknbSBwcmV0dHkgc3VyZSB5b3UncmUgbm90IGN1cnJlbnRseSBhbGxvd2VkIHRvIG92ZXJ3 cml0ZSB0aGUgLT5tbQo+ID4+ID4gcG9pbnRlciBvZiBhIHVzZXJzcGFjZSB0aHJlYWQuIEZvciBl eGFtcGxlLCB6YXBfdGhyZWFkcygpIGFzc3VtZXMgdGhhdAo+ID4+ID4gYWxsIHRocmVhZHMgcnVu bmluZyB1bmRlciBhIHByb2Nlc3MgaGF2ZSB0aGUgc2FtZSAtPm1tLiAoQW5kIGlmIHlvdSdyZQo+ ID4+ID4gZmlkZGxpbmcgd2l0aCAtPm1tIHN0dWZmLCB5b3Ugc2hvdWxkIHByb2JhYmx5IENDIGxp bnV4LW1tQC4pCj4gPj4KPiA+PiBleGVjX21tYXAoKSBkb2VzIGl0LCBzbyBpdCBjYW7igJl0IGJl IGVudGlyZWx5IGltcG9zc2libGUuCj4gPgo+ID4gWWVhaCwgdHJ1ZSwgZXhlY3ZlIGNhbiBkbyBp dCAtIEkgZ3Vlc3MgdGhlIHRoaW5nIHRoYXQgbWFrZXMgdGhhdAo+ID4gc3BlY2lhbCBpcyB0aGF0 IGl0J3MgcnVubmluZyBhZnRlciBkZV90aHJlYWQoKSwgc28gaXQncyBndWFyYW50ZWVkIHRvCj4g PiBiZSBzaW5nbGUtdGhyZWFkZWQ/Cj4gCj4gRXZlbiB0aGUgaW1wbGVtZW50YXRpb24gZGV0YWls IG9mIHN3YXBwaW5nIHRoZSBtbSBhc2lkZS4gIEV2ZW4gdGhlIGlkZWEKPiBvZiBzd2FwaW5nIHRo ZSBtbSBpcyBjb21wbGV0ZWx5IGJyb2tlbiwgYXMgYW4gZW5kbGVzcyBzeXN0ZW0gY2FsbHMKPiBk ZXBlbmQgdXBvbiB0aGUgc3RhdGUgaGVsZCBpbiB0YXNrX3N0cnVjdC4gIGlvX3VyaW5nIGp1c3Qg dHJpZWQgcnVubmluZwo+IHN5c3RlbSBjYWxscyBvZiBhIHByb2Nlc3MgaW4gYSBkaWZmZXJlbnQg Y29udGV4dCBhbmQgd2UgdWx0aW1hdGVseSBoYWQKPiB0byBtYWtlIHRoZSB0aHJlYWRzIHBhcnQg b2YgdGhlIG9yaWdpbmFsIHByb2Nlc3MgdG8gbWFrZSBlbm91Z2ggdGhpbmdzCj4gd29yayB0byBr ZWVwIHRoZSBwcm9ibGVtIHRyYWN0YWJsZS4KPiAKPiBTeXN0ZW0gY2FsbHMgZGVlcGx5IGFuZCBm dW5kYW1lbnRhbGx5IGRlcGVuZCBvbiB0YXNrX3N0cnVjdCBhbmQKPiBzaWduYWxfc3RydWN0LgoK SW4gb3Bwb3NpdGUgdG8gaW9fdXJpbmcsIHByb2Nlc3Nfdm1fZXhlYyBkb2Vzbid0IGludGVuZCB0 byBydW4gc3lzdGVtCmNhbGxzIGluIHRoZSBjb250ZXh0IG9mIHRoZSB0YXJnZXQgcHJvY2Vzcy4g V2UgaW5pdGlhbGx5IGRlY2xhcmUgdGhhdApzeXN0ZW0gY2FsbHMgYXJlIGV4ZWN1dGVkIGluIHRo ZSBjb250ZXh0IG9mIHRoZSBjdXJyZW50IHByb2Nlc3Mgd2l0aApqdXN0IGFub3RoZXIgbW0uIElm IHdlIGFyZSB0YWxraW5nIGFib3V0IHVzZXItbW9kZSBrZXJuZWxzLCB0aGV5IHdpbGwKbmVlZCBq dXN0IHR3byBzeXN0ZW0gY2FsbHM6IG1tYXAgYW5kIG11bm1hcC4gSW4gY2FzZSBvZiBDUklVLCB2 bXNwbGljZQp3aWxsIGJlIHVzZWQgdG9vLgoKPiAKPiBJIGNhbiB0aGluayBvZiB0d28gcG9zc2li aWxpdGllcy4KPiAxKSBIaWphY2sgYW5kIGV4aXN0aW5nIHByb2Nlc3MgdGhyZWFkLgo+IDIpIElu amVjdCBhIG5ldyB0aHJlYWQgaW50byBhbiBleGlzdGluZyBwcm9jZXNzLgoKSSBhbSBub3Qgc3Vy ZSB0aGF0IEkgdW5kZXJzdGFuZCB3aGF0IHlvdSBtZWFuIGhlcmUsIGJ1dCBpdCBzb3VuZHMgbGlr ZQp3ZSB3aWxsIG5lZWQgdG8gZG8gYSBjb250ZXh0IHN3aXRjaCB0byBleGVjdXRlIGFueXRoaW5n IGluIGEgY29udGV4dApvZiBhIGhpamFja2VkIHRocmVhZC4gSWYgSSBhbSByaWdodCwgaXQga2ls bHMgdGhlIG1haW4gaWRlYSBvZgpwcm9jZXNzX3ZtX2V4ZWMuIElmIEkgbWlzdW5kZXJzdGFuZCB5 b3VyIGlkZWEsIG1heWJlIHlvdSBjYW4gZGVzY3JpYmUgaXQKd2l0aCBtb3JlIGRldGFpbHMuCgpU aGFua3MsCkFuZHJlaQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KbGludXgtdW0gbWFpbGluZyBsaXN0CmxpbnV4LXVtQGxpc3RzLmluZnJhZGVhZC5vcmcK aHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC11bQo=