From mboxrd@z Thu Jan 1 00:00:00 1970 From: Felix Kuehling Subject: Re: [PATCH 4/6] kernel: move use_mm/unuse_mm to kthread.c Date: Mon, 6 Apr 2020 12:09:22 -0400 Message-ID: <86ab9f2f-4081-ebd6-790d-9b334db998c1@amd.com> References: <20200404094101.672954-1-hch@lst.de> <20200404094101.672954-5-hch@lst.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20200404094101.672954-5-hch-jcswGhMUV9g@public.gmane.org> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Christoph Hellwig , Linus Torvalds , Andrew Morton Cc: Jens Axboe , Felipe Balbi , amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, "Michael S. Tsirkin" , Jason Wang , linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, io-uring-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Zhenyu Wang , virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org, linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Al Viro , Alex Deucher , intel-gvt-dev-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, intel-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Zhi Wang List-Id: virtualization@lists.linuxfoundation.org QW0gMjAyMC0wNC0wNCB1bSA1OjQwIGEubS4gc2NocmllYiBDaHJpc3RvcGggSGVsbHdpZzoKPiBU aGVzZSBoZWxwZXJzIGFyZSBvbmx5IGZvciB1c2Ugd2l0aCBrZXJuZWwgdGhyZWFkcywgYW5kIEkg d2lsbCB0aWUgdGhlbQo+IG1vcmUgaW50byB0aGUga3RocmVhZCBpbmZyYXN0cnVjdHVyZSBnb2lu ZyBmb3J3YXJkLiAgQWxzbyBtb3ZlIHRoZQo+IHByb3RvdHlwZXMgdG8ga3RocmVhZC5oIC0gbW11 X2NvbnRleHQuaCB3YXMgYSBsaXR0bGUgd2VpcmQgdG8gc3RhcnQgd2l0aAo+IGFzIGl0IG90aGVy d2lzZSBjb250YWlucyB2ZXJ5IGxvdy1sZXZlbCBNTSBiaXRzLgo+Cj4gU2lnbmVkLW9mZi1ieTog Q2hyaXN0b3BoIEhlbGx3aWcgPGhjaEBsc3QuZGU+CgpBY2tlZC1ieTogRmVsaXggS3VlaGxpbmcg PEZlbGl4Lkt1ZWhsaW5nQGFtZC5jb20+CgpUaGFua3MgZm9yIGNsZWFuaW5nIHVwIHRoZSB1bm5l Y2Vzc2FyeSBpbmNsdWRlcyBpbiBhbWRncHUuCgpSZWdhcmRzLArCoCBGZWxpeAoKCj4gLS0tCj4g IGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmQuaCAgICB8ICAxICsKPiAg Li4uL2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmRfYXJjdHVydXMuYyAgIHwgIDEgLQo+ICAu Li4vZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtmZF9nZnhfdjEwLmMgICAgfCAgMSAtCj4gIC4u Li9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtmZF9nZnhfdjcuYyB8ICAyIC0KPiAgLi4u L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkX2dmeF92OC5jIHwgIDIgLQo+ICAuLi4v Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmRfZ2Z4X3Y5LmMgfCAgMiAtCj4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2d2dC9rdm1ndC5jICAgICAgICAgICAgICB8ICAyICstCj4gIGRyaXZl cnMvdXNiL2dhZGdldC9mdW5jdGlvbi9mX2ZzLmMgICAgICAgICAgICB8ICAyICstCj4gIGRyaXZl cnMvdXNiL2dhZGdldC9sZWdhY3kvaW5vZGUuYyAgICAgICAgICAgICB8ICAyICstCj4gIGRyaXZl cnMvdmhvc3Qvdmhvc3QuYyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxIC0KPiAgZnMvYWlv LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDEgLQo+ICBmcy9pby13 cS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMSAtCj4gIGZzL2lvX3Vy aW5nLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxIC0KPiAgaW5jbHVkZS9s aW51eC9rdGhyZWFkLmggICAgICAgICAgICAgICAgICAgICAgIHwgIDUgKysKPiAgaW5jbHVkZS9s aW51eC9tbXVfY29udGV4dC5oICAgICAgICAgICAgICAgICAgIHwgIDUgLS0KPiAga2VybmVsL2t0 aHJlYWQuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgNTYgKysrKysrKysrKysrKysr Kwo+ICBtbS9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiAr LQo+ICBtbS9tbXVfY29udGV4dC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA2NCAt LS0tLS0tLS0tLS0tLS0tLS0tCj4gIDE4IGZpbGVzIGNoYW5nZWQsIDY2IGluc2VydGlvbnMoKyks IDg1IGRlbGV0aW9ucygtKQo+ICBkZWxldGUgbW9kZSAxMDA2NDQgbW0vbW11X2NvbnRleHQuYwo+ Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmQu aCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmQuaAo+IGluZGV4IDRk YjE0M2MxOWRjYy4uYmNlNWU5M2ZlZmM4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmQuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV9hbWRrZmQuaAo+IEBAIC0yNyw2ICsyNyw3IEBACj4gIAo+ICAjaW5jbHVkZSA8 bGludXgvdHlwZXMuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L21tLmg+Cj4gKyNpbmNsdWRlIDxsaW51 eC9rdGhyZWFkLmg+Cj4gICNpbmNsdWRlIDxsaW51eC93b3JrcXVldWUuaD4KPiAgI2luY2x1ZGUg PGtnZF9rZmRfaW50ZXJmYWNlLmg+Cj4gICNpbmNsdWRlIDxkcm0vdHRtL3R0bV9leGVjYnVmX3V0 aWwuaD4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Ft ZGtmZF9hcmN0dXJ1cy5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtm ZF9hcmN0dXJ1cy5jCj4gaW5kZXggNjUyOWNhY2E4OGZlLi4zNWQ0YTVhYjAyMjggMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtmZF9hcmN0dXJ1cy5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtmZF9hcmN0dXJ1 cy5jCj4gQEAgLTIyLDcgKzIyLDYgQEAKPiAgI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgo+ICAj aW5jbHVkZSA8bGludXgvZmR0YWJsZS5oPgo+ICAjaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgo+ IC0jaW5jbHVkZSA8bGludXgvbW11X2NvbnRleHQuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L2Zpcm13 YXJlLmg+Cj4gICNpbmNsdWRlICJhbWRncHUuaCIKPiAgI2luY2x1ZGUgImFtZGdwdV9hbWRrZmQu aCIKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtm ZF9nZnhfdjEwLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkX2dm eF92MTAuYwo+IGluZGV4IDRlYzZkMGMwMzIwMS4uYjE2NTUwNTRiOTE5IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmRfZ2Z4X3YxMC5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtmZF9nZnhfdjEwLmMKPiBA QCAtMTksNyArMTksNiBAQAo+ICAgKiBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNU SU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IKPiAgICogT1RIRVIgREVBTElOR1Mg SU4gVEhFIFNPRlRXQVJFLgo+ICAgKi8KPiAtI2luY2x1ZGUgPGxpbnV4L21tdV9jb250ZXh0Lmg+ Cj4gICNpbmNsdWRlICJhbWRncHUuaCIKPiAgI2luY2x1ZGUgImFtZGdwdV9hbWRrZmQuaCIKPiAg I2luY2x1ZGUgImdjL2djXzEwXzFfMF9vZmZzZXQuaCIKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtmZF9nZnhfdjcuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmRfZ2Z4X3Y3LmMKPiBpbmRleCAwYjdlNzg3NDg1NDAu LjdkMDE0MjBjMGM4NSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfYW1ka2ZkX2dmeF92Ny5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X2FtZGtmZF9nZnhfdjcuYwo+IEBAIC0yMCw4ICsyMCw2IEBACj4gICAqIE9USEVSIERF QUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KPiAgICovCj4gIAo+IC0jaW5jbHVkZSA8bGludXgvbW11 X2NvbnRleHQuaD4KPiAtCj4gICNpbmNsdWRlICJhbWRncHUuaCIKPiAgI2luY2x1ZGUgImFtZGdw dV9hbWRrZmQuaCIKPiAgI2luY2x1ZGUgImNpa2QuaCIKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtmZF9nZnhfdjguYyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmRfZ2Z4X3Y4LmMKPiBpbmRleCBjY2Q2MzViODEyYjUu LjYzNWNkMWEyNmJlZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfYW1ka2ZkX2dmeF92OC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X2FtZGtmZF9nZnhfdjguYwo+IEBAIC0yMCw4ICsyMCw2IEBACj4gICAqIE9USEVSIERF QUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KPiAgICovCj4gIAo+IC0jaW5jbHVkZSA8bGludXgvbW11 X2NvbnRleHQuaD4KPiAtCj4gICNpbmNsdWRlICJhbWRncHUuaCIKPiAgI2luY2x1ZGUgImFtZGdw dV9hbWRrZmQuaCIKPiAgI2luY2x1ZGUgImdmeF92OF8wLmgiCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmRfZ2Z4X3Y5LmMgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkX2dmeF92OS5jCj4gaW5kZXggZGY4NDFjMmFj NWU3Li5jN2ZkMGM0N2IyNTQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X2FtZGtmZF9nZnhfdjkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV9hbWRrZmRfZ2Z4X3Y5LmMKPiBAQCAtMTksOCArMTksNiBAQAo+ICAgKiBBUklT SU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRI RSBVU0UgT1IKPiAgICogT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgo+ICAgKi8KPiAt I2luY2x1ZGUgPGxpbnV4L21tdV9jb250ZXh0Lmg+Cj4gLQo+ICAjaW5jbHVkZSAiYW1kZ3B1Lmgi Cj4gICNpbmNsdWRlICJhbWRncHVfYW1ka2ZkLmgiCj4gICNpbmNsdWRlICJnYy9nY185XzBfb2Zm c2V0LmgiCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9rdm1ndC5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2t2bWd0LmMKPiBpbmRleCA1ODQ4NDAwNjIwYjQuLmRl ZTAxYzM3MWJmNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQva3ZtZ3Qu Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9rdm1ndC5jCj4gQEAgLTMxLDcgKzMx LDcgQEAKPiAgI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L2Rldmlj ZS5oPgo+ICAjaW5jbHVkZSA8bGludXgvbW0uaD4KPiAtI2luY2x1ZGUgPGxpbnV4L21tdV9jb250 ZXh0Lmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9rdGhyZWFkLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9z Y2hlZC9tbS5oPgo+ICAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KPiAgI2luY2x1ZGUgPGxpbnV4 L2xpc3QuaD4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZ2FkZ2V0L2Z1bmN0aW9uL2ZfZnMu YyBiL2RyaXZlcnMvdXNiL2dhZGdldC9mdW5jdGlvbi9mX2ZzLmMKPiBpbmRleCBjODEwMjNiMTk1 YzMuLmM1N2IxYjI1MDdjNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3VzYi9nYWRnZXQvZnVuY3Rp b24vZl9mcy5jCj4gKysrIGIvZHJpdmVycy91c2IvZ2FkZ2V0L2Z1bmN0aW9uL2ZfZnMuYwo+IEBA IC0zMiw3ICszMiw3IEBACj4gICNpbmNsdWRlIDxsaW51eC91c2IvZnVuY3Rpb25mcy5oPgo+ICAK PiAgI2luY2x1ZGUgPGxpbnV4L2Fpby5oPgo+IC0jaW5jbHVkZSA8bGludXgvbW11X2NvbnRleHQu aD4KPiArI2luY2x1ZGUgPGxpbnV4L2t0aHJlYWQuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L3BvbGwu aD4KPiAgI2luY2x1ZGUgPGxpbnV4L2V2ZW50ZmQuaD4KPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvdXNiL2dhZGdldC9sZWdhY3kvaW5vZGUuYyBiL2RyaXZlcnMvdXNiL2dhZGdldC9sZWdhY3kv aW5vZGUuYwo+IGluZGV4IGFhMGRlOWUzNWFmYS4uOGI1MjMzODg4YmY4IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvdXNiL2dhZGdldC9sZWdhY3kvaW5vZGUuYwo+ICsrKyBiL2RyaXZlcnMvdXNiL2dh ZGdldC9sZWdhY3kvaW5vZGUuYwo+IEBAIC0yMSw3ICsyMSw3IEBACj4gICNpbmNsdWRlIDxsaW51 eC9zY2hlZC5oPgo+ICAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgo+ICAjaW5jbHVkZSA8bGludXgv cG9sbC5oPgo+IC0jaW5jbHVkZSA8bGludXgvbW11X2NvbnRleHQuaD4KPiArI2luY2x1ZGUgPGxp bnV4L2t0aHJlYWQuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L2Fpby5oPgo+ICAjaW5jbHVkZSA8bGlu dXgvdWlvLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9yZWZjb3VudC5oPgo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL3Zob3N0L3Zob3N0LmMgYi9kcml2ZXJzL3Zob3N0L3Zob3N0LmMKPiBpbmRleCBmNDQz NDBiNDE0OTQuLjRlOWNlNTQ4NjlhZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3Zob3N0L3Zob3N0 LmMKPiArKysgYi9kcml2ZXJzL3Zob3N0L3Zob3N0LmMKPiBAQCAtMTQsNyArMTQsNiBAQAo+ICAj aW5jbHVkZSA8bGludXgvdmhvc3QuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L3Vpby5oPgo+ICAjaW5j bHVkZSA8bGludXgvbW0uaD4KPiAtI2luY2x1ZGUgPGxpbnV4L21tdV9jb250ZXh0Lmg+Cj4gICNp bmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgo+ ICAjaW5jbHVkZSA8bGludXgvcG9sbC5oPgo+IGRpZmYgLS1naXQgYS9mcy9haW8uYyBiL2ZzL2Fp by5jCj4gaW5kZXggNWYzZDNkODE0OTI4Li4zMjg4MjlmMDM0M2IgMTAwNjQ0Cj4gLS0tIGEvZnMv YWlvLmMKPiArKysgYi9mcy9haW8uYwo+IEBAIC0yNyw3ICsyNyw2IEBACj4gICNpbmNsdWRlIDxs aW51eC9maWxlLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9tbS5oPgo+ICAjaW5jbHVkZSA8bGludXgv bW1hbi5oPgo+IC0jaW5jbHVkZSA8bGludXgvbW11X2NvbnRleHQuaD4KPiAgI2luY2x1ZGUgPGxp bnV4L3BlcmNwdS5oPgo+ICAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgo+ICAjaW5jbHVkZSA8bGlu dXgvdGltZXIuaD4KPiBkaWZmIC0tZ2l0IGEvZnMvaW8td3EuYyBiL2ZzL2lvLXdxLmMKPiBpbmRl eCBjYzVjZjIyMDlmYjAuLmM0OWMyYmRiYWZiNSAxMDA2NDQKPiAtLS0gYS9mcy9pby13cS5jCj4g KysrIGIvZnMvaW8td3EuYwo+IEBAIC0xMCw3ICsxMCw2IEBACj4gICNpbmNsdWRlIDxsaW51eC9l cnJuby5oPgo+ICAjaW5jbHVkZSA8bGludXgvc2NoZWQvc2lnbmFsLmg+Cj4gICNpbmNsdWRlIDxs aW51eC9tbS5oPgo+IC0jaW5jbHVkZSA8bGludXgvbW11X2NvbnRleHQuaD4KPiAgI2luY2x1ZGUg PGxpbnV4L3NjaGVkL21tLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9wZXJjcHUuaD4KPiAgI2luY2x1 ZGUgPGxpbnV4L3NsYWIuaD4KPiBkaWZmIC0tZ2l0IGEvZnMvaW9fdXJpbmcuYyBiL2ZzL2lvX3Vy aW5nLmMKPiBpbmRleCAzNThmOTdiZTljN2IuLjI3YTRlY2I3MjRjYSAxMDA2NDQKPiAtLS0gYS9m cy9pb191cmluZy5jCj4gKysrIGIvZnMvaW9fdXJpbmcuYwo+IEBAIC01NSw3ICs1NSw2IEBACj4g ICNpbmNsdWRlIDxsaW51eC9mZHRhYmxlLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9tbS5oPgo+ICAj aW5jbHVkZSA8bGludXgvbW1hbi5oPgo+IC0jaW5jbHVkZSA8bGludXgvbW11X2NvbnRleHQuaD4K PiAgI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgo+ICAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgo+ ICAjaW5jbHVkZSA8bGludXgva3RocmVhZC5oPgo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4 L2t0aHJlYWQuaCBiL2luY2x1ZGUvbGludXgva3RocmVhZC5oCj4gaW5kZXggOGJiY2FhZDdlZjBm Li5jMmQ0MGM5NjcyZDYgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9saW51eC9rdGhyZWFkLmgKPiAr KysgYi9pbmNsdWRlL2xpbnV4L2t0aHJlYWQuaAo+IEBAIC01LDYgKzUsOCBAQAo+ICAjaW5jbHVk ZSA8bGludXgvZXJyLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgo+ICAKPiArc3RydWN0 IG1tX3N0cnVjdDsKPiArCj4gIF9fcHJpbnRmKDQsIDUpCj4gIHN0cnVjdCB0YXNrX3N0cnVjdCAq a3RocmVhZF9jcmVhdGVfb25fbm9kZShpbnQgKCp0aHJlYWRmbikodm9pZCAqZGF0YSksCj4gIAkJ CQkJICAgdm9pZCAqZGF0YSwKPiBAQCAtMTk4LDYgKzIwMCw5IEBAIGJvb2wga3RocmVhZF9jYW5j ZWxfZGVsYXllZF93b3JrX3N5bmMoc3RydWN0IGt0aHJlYWRfZGVsYXllZF93b3JrICp3b3JrKTsK PiAgCj4gIHZvaWQga3RocmVhZF9kZXN0cm95X3dvcmtlcihzdHJ1Y3Qga3RocmVhZF93b3JrZXIg Kndvcmtlcik7Cj4gIAo+ICt2b2lkIHVzZV9tbShzdHJ1Y3QgbW1fc3RydWN0ICptbSk7Cj4gK3Zv aWQgdW51c2VfbW0oc3RydWN0IG1tX3N0cnVjdCAqbW0pOwo+ICsKPiAgc3RydWN0IGNncm91cF9z dWJzeXNfc3RhdGU7Cj4gIAo+ICAjaWZkZWYgQ09ORklHX0JMS19DR1JPVVAKPiBkaWZmIC0tZ2l0 IGEvaW5jbHVkZS9saW51eC9tbXVfY29udGV4dC5oIGIvaW5jbHVkZS9saW51eC9tbXVfY29udGV4 dC5oCj4gaW5kZXggZDlhNTQzYTllMWNjLi5jNTFhODQxMzJkN2MgMTAwNjQ0Cj4gLS0tIGEvaW5j bHVkZS9saW51eC9tbXVfY29udGV4dC5oCj4gKysrIGIvaW5jbHVkZS9saW51eC9tbXVfY29udGV4 dC5oCj4gQEAgLTQsMTEgKzQsNiBAQAo+ICAKPiAgI2luY2x1ZGUgPGFzbS9tbXVfY29udGV4dC5o Pgo+ICAKPiAtc3RydWN0IG1tX3N0cnVjdDsKPiAtCj4gLXZvaWQgdXNlX21tKHN0cnVjdCBtbV9z dHJ1Y3QgKm1tKTsKPiAtdm9pZCB1bnVzZV9tbShzdHJ1Y3QgbW1fc3RydWN0ICptbSk7Cj4gLQo+ ICAvKiBBcmNoaXRlY3R1cmVzIHRoYXQgY2FyZSBhYm91dCBJUlEgc3RhdGUgaW4gc3dpdGNoX21t IGNhbiBvdmVycmlkZSB0aGlzLiAqLwo+ICAjaWZuZGVmIHN3aXRjaF9tbV9pcnFzX29mZgo+ICAj IGRlZmluZSBzd2l0Y2hfbW1faXJxc19vZmYgc3dpdGNoX21tCj4gZGlmZiAtLWdpdCBhL2tlcm5l bC9rdGhyZWFkLmMgYi9rZXJuZWwva3RocmVhZC5jCj4gaW5kZXggYmZiZmE0ODFiZTNhLi5jZTQ2 MTAzMTYzNzcgMTAwNjQ0Cj4gLS0tIGEva2VybmVsL2t0aHJlYWQuYwo+ICsrKyBiL2tlcm5lbC9r dGhyZWFkLmMKPiBAQCAtMSwxMyArMSwxNyBAQAo+ICAvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogR1BMLTIuMC1vbmx5Cj4gIC8qIEtlcm5lbCB0aHJlYWQgaGVscGVyIGZ1bmN0aW9ucy4KPiAg ICogICBDb3B5cmlnaHQgKEMpIDIwMDQgSUJNIENvcnBvcmF0aW9uLCBSdXN0eSBSdXNzZWxsLgo+ ICsgKiAgIENvcHlyaWdodCAoQykgMjAwOSBSZWQgSGF0LCBJbmMuCj4gICAqCj4gICAqIENyZWF0 aW9uIGlzIGRvbmUgdmlhIGt0aHJlYWRkLCBzbyB0aGF0IHdlIGdldCBhIGNsZWFuIGVudmlyb25t ZW50Cj4gICAqIGV2ZW4gaWYgd2UncmUgaW52b2tlZCBmcm9tIHVzZXJzcGFjZSAodGhpbmsgbW9k cHJvYmUsIGhvdHBsdWcgY3B1LAo+ICAgKiBldGMuKS4KPiAgICovCj4gICNpbmNsdWRlIDx1YXBp L2xpbnV4L3NjaGVkL3R5cGVzLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9tbS5oPgo+ICsjaW5jbHVk ZSA8bGludXgvbW11X2NvbnRleHQuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+Cj4gKyNp bmNsdWRlIDxsaW51eC9zY2hlZC9tbS5oPgo+ICAjaW5jbHVkZSA8bGludXgvc2NoZWQvdGFzay5o Pgo+ICAjaW5jbHVkZSA8bGludXgva3RocmVhZC5oPgo+ICAjaW5jbHVkZSA8bGludXgvY29tcGxl dGlvbi5oPgo+IEBAIC0yNSw2ICsyOSw3IEBACj4gICNpbmNsdWRlIDxsaW51eC9udW1hLmg+Cj4g ICNpbmNsdWRlIDx0cmFjZS9ldmVudHMvc2NoZWQuaD4KPiAgCj4gKwo+ICBzdGF0aWMgREVGSU5F X1NQSU5MT0NLKGt0aHJlYWRfY3JlYXRlX2xvY2spOwo+ICBzdGF0aWMgTElTVF9IRUFEKGt0aHJl YWRfY3JlYXRlX2xpc3QpOwo+ICBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmt0aHJlYWRkX3Rhc2s7Cj4g QEAgLTEyMDMsNiArMTIwOCw1NyBAQCB2b2lkIGt0aHJlYWRfZGVzdHJveV93b3JrZXIoc3RydWN0 IGt0aHJlYWRfd29ya2VyICp3b3JrZXIpCj4gIH0KPiAgRVhQT1JUX1NZTUJPTChrdGhyZWFkX2Rl c3Ryb3lfd29ya2VyKTsKPiAgCj4gKy8qCj4gKyAqIHVzZV9tbQo+ICsgKglNYWtlcyB0aGUgY2Fs bGluZyBrZXJuZWwgdGhyZWFkIHRha2Ugb24gdGhlIHNwZWNpZmllZAo+ICsgKgltbSBjb250ZXh0 Lgo+ICsgKgkoTm90ZTogdGhpcyByb3V0aW5lIGlzIGludGVuZGVkIHRvIGJlIGNhbGxlZCBvbmx5 Cj4gKyAqCWZyb20gYSBrZXJuZWwgdGhyZWFkIGNvbnRleHQpCj4gKyAqLwo+ICt2b2lkIHVzZV9t bShzdHJ1Y3QgbW1fc3RydWN0ICptbSkKPiArewo+ICsJc3RydWN0IG1tX3N0cnVjdCAqYWN0aXZl X21tOwo+ICsJc3RydWN0IHRhc2tfc3RydWN0ICp0c2sgPSBjdXJyZW50Owo+ICsKPiArCXRhc2tf bG9jayh0c2spOwo+ICsJYWN0aXZlX21tID0gdHNrLT5hY3RpdmVfbW07Cj4gKwlpZiAoYWN0aXZl X21tICE9IG1tKSB7Cj4gKwkJbW1ncmFiKG1tKTsKPiArCQl0c2stPmFjdGl2ZV9tbSA9IG1tOwo+ ICsJfQo+ICsJdHNrLT5tbSA9IG1tOwo+ICsJc3dpdGNoX21tKGFjdGl2ZV9tbSwgbW0sIHRzayk7 Cj4gKwl0YXNrX3VubG9jayh0c2spOwo+ICsjaWZkZWYgZmluaXNoX2FyY2hfcG9zdF9sb2NrX3N3 aXRjaAo+ICsJZmluaXNoX2FyY2hfcG9zdF9sb2NrX3N3aXRjaCgpOwo+ICsjZW5kaWYKPiArCj4g KwlpZiAoYWN0aXZlX21tICE9IG1tKQo+ICsJCW1tZHJvcChhY3RpdmVfbW0pOwo+ICt9Cj4gK0VY UE9SVF9TWU1CT0xfR1BMKHVzZV9tbSk7Cj4gKwo+ICsvKgo+ICsgKiB1bnVzZV9tbQo+ICsgKglS ZXZlcnNlcyB0aGUgZWZmZWN0IG9mIHVzZV9tbSwgaS5lLiByZWxlYXNlcyB0aGUKPiArICoJc3Bl Y2lmaWVkIG1tIGNvbnRleHQgd2hpY2ggd2FzIGVhcmxpZXIgdGFrZW4gb24KPiArICoJYnkgdGhl IGNhbGxpbmcga2VybmVsIHRocmVhZAo+ICsgKgkoTm90ZTogdGhpcyByb3V0aW5lIGlzIGludGVu ZGVkIHRvIGJlIGNhbGxlZCBvbmx5Cj4gKyAqCWZyb20gYSBrZXJuZWwgdGhyZWFkIGNvbnRleHQp Cj4gKyAqLwo+ICt2b2lkIHVudXNlX21tKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKQo+ICt7Cj4gKwlz dHJ1Y3QgdGFza19zdHJ1Y3QgKnRzayA9IGN1cnJlbnQ7Cj4gKwo+ICsJdGFza19sb2NrKHRzayk7 Cj4gKwlzeW5jX21tX3JzcyhtbSk7Cj4gKwl0c2stPm1tID0gTlVMTDsKPiArCS8qIGFjdGl2ZV9t bSBpcyBzdGlsbCAnbW0nICovCj4gKwllbnRlcl9sYXp5X3RsYihtbSwgdHNrKTsKPiArCXRhc2tf dW5sb2NrKHRzayk7Cj4gK30KPiArRVhQT1JUX1NZTUJPTF9HUEwodW51c2VfbW0pOwo+ICsKPiAg I2lmZGVmIENPTkZJR19CTEtfQ0dST1VQCj4gIC8qKgo+ICAgKiBrdGhyZWFkX2Fzc29jaWF0ZV9i bGtjZyAtIGFzc29jaWF0ZSBibGtjZyB0byBjdXJyZW50IGt0aHJlYWQKPiBkaWZmIC0tZ2l0IGEv bW0vTWFrZWZpbGUgYi9tbS9NYWtlZmlsZQo+IGluZGV4IGRiYzgzNDZkMTZjYS4uMGFmNGVlODFh ZWQyIDEwMDY0NAo+IC0tLSBhL21tL01ha2VmaWxlCj4gKysrIGIvbW0vTWFrZWZpbGUKPiBAQCAt NDEsNyArNDEsNyBAQCBvYmoteQkJCTo9IGZpbGVtYXAubyBtZW1wb29sLm8gb29tX2tpbGwubyBm YWR2aXNlLm8gXAo+ICAJCQkgICBtYWNjZXNzLm8gcGFnZS13cml0ZWJhY2subyBcCj4gIAkJCSAg IHJlYWRhaGVhZC5vIHN3YXAubyB0cnVuY2F0ZS5vIHZtc2Nhbi5vIHNobWVtLm8gXAo+ICAJCQkg ICB1dGlsLm8gbW16b25lLm8gdm1zdGF0Lm8gYmFja2luZy1kZXYubyBcCj4gLQkJCSAgIG1tX2lu aXQubyBtbXVfY29udGV4dC5vIHBlcmNwdS5vIHNsYWJfY29tbW9uLm8gXAo+ICsJCQkgICBtbV9p bml0Lm8gcGVyY3B1Lm8gc2xhYl9jb21tb24ubyBcCj4gIAkJCSAgIGNvbXBhY3Rpb24ubyB2bWFj YWNoZS5vIFwKPiAgCQkJICAgaW50ZXJ2YWxfdHJlZS5vIGxpc3RfbHJ1Lm8gd29ya2luZ3NldC5v IFwKPiAgCQkJICAgZGVidWcubyBndXAubyAkKG1tdS15KQo+IGRpZmYgLS1naXQgYS9tbS9tbXVf Y29udGV4dC5jIGIvbW0vbW11X2NvbnRleHQuYwo+IGRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAo+ IGluZGV4IDNlNjEyYWU3NDhlOS4uMDAwMDAwMDAwMDAwCj4gLS0tIGEvbW0vbW11X2NvbnRleHQu Ywo+ICsrKyAvZGV2L251bGwKPiBAQCAtMSw2NCArMCwwIEBACj4gLS8qIENvcHlyaWdodCAoQykg MjAwOSBSZWQgSGF0LCBJbmMuCj4gLSAqCj4gLSAqIFNlZSAuLi9DT1BZSU5HIGZvciBsaWNlbnNp bmcgdGVybXMuCj4gLSAqLwo+IC0KPiAtI2luY2x1ZGUgPGxpbnV4L21tLmg+Cj4gLSNpbmNsdWRl IDxsaW51eC9zY2hlZC5oPgo+IC0jaW5jbHVkZSA8bGludXgvc2NoZWQvbW0uaD4KPiAtI2luY2x1 ZGUgPGxpbnV4L3NjaGVkL3Rhc2suaD4KPiAtI2luY2x1ZGUgPGxpbnV4L21tdV9jb250ZXh0Lmg+ Cj4gLSNpbmNsdWRlIDxsaW51eC9leHBvcnQuaD4KPiAtCj4gLSNpbmNsdWRlIDxhc20vbW11X2Nv bnRleHQuaD4KPiAtCj4gLS8qCj4gLSAqIHVzZV9tbQo+IC0gKglNYWtlcyB0aGUgY2FsbGluZyBr ZXJuZWwgdGhyZWFkIHRha2Ugb24gdGhlIHNwZWNpZmllZAo+IC0gKgltbSBjb250ZXh0Lgo+IC0g KgkoTm90ZTogdGhpcyByb3V0aW5lIGlzIGludGVuZGVkIHRvIGJlIGNhbGxlZCBvbmx5Cj4gLSAq CWZyb20gYSBrZXJuZWwgdGhyZWFkIGNvbnRleHQpCj4gLSAqLwo+IC12b2lkIHVzZV9tbShzdHJ1 Y3QgbW1fc3RydWN0ICptbSkKPiAtewo+IC0Jc3RydWN0IG1tX3N0cnVjdCAqYWN0aXZlX21tOwo+ IC0Jc3RydWN0IHRhc2tfc3RydWN0ICp0c2sgPSBjdXJyZW50Owo+IC0KPiAtCXRhc2tfbG9jayh0 c2spOwo+IC0JYWN0aXZlX21tID0gdHNrLT5hY3RpdmVfbW07Cj4gLQlpZiAoYWN0aXZlX21tICE9 IG1tKSB7Cj4gLQkJbW1ncmFiKG1tKTsKPiAtCQl0c2stPmFjdGl2ZV9tbSA9IG1tOwo+IC0JfQo+ IC0JdHNrLT5tbSA9IG1tOwo+IC0Jc3dpdGNoX21tKGFjdGl2ZV9tbSwgbW0sIHRzayk7Cj4gLQl0 YXNrX3VubG9jayh0c2spOwo+IC0jaWZkZWYgZmluaXNoX2FyY2hfcG9zdF9sb2NrX3N3aXRjaAo+ IC0JZmluaXNoX2FyY2hfcG9zdF9sb2NrX3N3aXRjaCgpOwo+IC0jZW5kaWYKPiAtCj4gLQlpZiAo YWN0aXZlX21tICE9IG1tKQo+IC0JCW1tZHJvcChhY3RpdmVfbW0pOwo+IC19Cj4gLUVYUE9SVF9T WU1CT0xfR1BMKHVzZV9tbSk7Cj4gLQo+IC0vKgo+IC0gKiB1bnVzZV9tbQo+IC0gKglSZXZlcnNl cyB0aGUgZWZmZWN0IG9mIHVzZV9tbSwgaS5lLiByZWxlYXNlcyB0aGUKPiAtICoJc3BlY2lmaWVk IG1tIGNvbnRleHQgd2hpY2ggd2FzIGVhcmxpZXIgdGFrZW4gb24KPiAtICoJYnkgdGhlIGNhbGxp bmcga2VybmVsIHRocmVhZAo+IC0gKgkoTm90ZTogdGhpcyByb3V0aW5lIGlzIGludGVuZGVkIHRv IGJlIGNhbGxlZCBvbmx5Cj4gLSAqCWZyb20gYSBrZXJuZWwgdGhyZWFkIGNvbnRleHQpCj4gLSAq Lwo+IC12b2lkIHVudXNlX21tKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKQo+IC17Cj4gLQlzdHJ1Y3Qg dGFza19zdHJ1Y3QgKnRzayA9IGN1cnJlbnQ7Cj4gLQo+IC0JdGFza19sb2NrKHRzayk7Cj4gLQlz eW5jX21tX3JzcyhtbSk7Cj4gLQl0c2stPm1tID0gTlVMTDsKPiAtCS8qIGFjdGl2ZV9tbSBpcyBz dGlsbCAnbW0nICovCj4gLQllbnRlcl9sYXp5X3RsYihtbSwgdHNrKTsKPiAtCXRhc2tfdW5sb2Nr KHRzayk7Cj4gLX0KPiAtRVhQT1JUX1NZTUJPTF9HUEwodW51c2VfbW0pOwpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAph bWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK