From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 41FA2C5AE59 for ; Tue, 3 Jun 2025 12:38:35 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D43446B0431; Tue, 3 Jun 2025 08:38:34 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D1A956B0432; Tue, 3 Jun 2025 08:38:34 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C309E6B0433; Tue, 3 Jun 2025 08:38:34 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id A97AB6B0431 for ; Tue, 3 Jun 2025 08:38:34 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 2646B1607B1 for ; Tue, 3 Jun 2025 12:38:34 +0000 (UTC) X-FDA: 83514042948.08.380A256 Received: from mta21.hihonor.com (mta21.honor.com [81.70.160.142]) by imf16.hostedemail.com (Postfix) with ESMTP id 4EA5318000A for ; Tue, 3 Jun 2025 12:38:30 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=none; spf=pass (imf16.hostedemail.com: domain of tao.wangtao@honor.com designates 81.70.160.142 as permitted sender) smtp.mailfrom=tao.wangtao@honor.com; dmarc=pass (policy=none) header.from=honor.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1748954311; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=xcNCGepNi0U/kqcREAk+KouqL4u0p0u2zVTK3EprN1Y=; b=al5DQ21in97Z004/7AX9MmL36fptySnchldtt+2ZeVhyrfgd5HyVOvXTj+fYLvPC3DVRmM EyrIo1Or8QjcgbI5Z6nLYBalw6LfJwViITr7TLuEdlwNO6FJT9wJ6vLOwkHDof3X0NpA3K I4stXCIBFQbQjcRdTkliYz6LM5dFtFc= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=none; spf=pass (imf16.hostedemail.com: domain of tao.wangtao@honor.com designates 81.70.160.142 as permitted sender) smtp.mailfrom=tao.wangtao@honor.com; dmarc=pass (policy=none) header.from=honor.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1748954312; a=rsa-sha256; cv=none; b=4/uQUOulma+BKdVEBqNK6ceVIQrMrkk6azjQu4E/ND6HM5egNLAMiKBVolzqfDlzjq6SnH O6V0pN2/0YG8gcrtyb67p1GD8TZPoEXzBEGV8id0hEuLV1E4M40FXmbZoinVy/UI7CA7Sp 8qcK2iGamkaD3lTfc2F0pTInoslIDxs= Received: from w011.hihonor.com (unknown [10.68.20.122]) by mta21.hihonor.com (SkyGuard) with ESMTPS id 4bBVZJ0VJdzYkxZg; Tue, 3 Jun 2025 20:36:24 +0800 (CST) Received: from a018.hihonor.com (10.68.17.250) by w011.hihonor.com (10.68.20.122) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.11; Tue, 3 Jun 2025 20:38:26 +0800 Received: from a010.hihonor.com (10.68.16.52) by a018.hihonor.com (10.68.17.250) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.11; Tue, 3 Jun 2025 20:38:26 +0800 Received: from a010.hihonor.com ([fe80::7127:3946:32c7:6e]) by a010.hihonor.com ([fe80::7127:3946:32c7:6e%14]) with mapi id 15.02.1544.011; Tue, 3 Jun 2025 20:38:26 +0800 From: wangtao To: Amir Goldstein CC: "sumit.semwal@linaro.org" , "christian.koenig@amd.com" , "kraxel@redhat.com" , "vivek.kasireddy@intel.com" , "viro@zeniv.linux.org.uk" , "brauner@kernel.org" , "hughd@google.com" , "akpm@linux-foundation.org" , "benjamin.gaignard@collabora.com" , "Brian.Starkey@arm.com" , "jstultz@google.com" , "tjmercier@google.com" , "jack@suse.cz" , "baolin.wang@linux.alibaba.com" , "linux-media@vger.kernel.org" , "dri-devel@lists.freedesktop.org" , "linaro-mm-sig@lists.linaro.org" , "linux-kernel@vger.kernel.org" , "linux-fsdevel@vger.kernel.org" , "linux-mm@kvack.org" , "wangbintian(BintianWang)" , yipengxiang , liulu 00013167 , "hanfeng 00012985" Subject: RE: [PATCH v4 1/4] fs: allow cross-FS copy_file_range for memory file with direct I/O Thread-Topic: [PATCH v4 1/4] fs: allow cross-FS copy_file_range for memory file with direct I/O Thread-Index: AQHb1G1oEbLXPGV3DUSDSLvy2FONdrPwvWiAgACgIIA= Date: Tue, 3 Jun 2025 12:38:25 +0000 Message-ID: <0cb2501aea054796906e2f6a23a86390@honor.com> References: <20250603095245.17478-1-tao.wangtao@honor.com> <20250603095245.17478-2-tao.wangtao@honor.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.163.18.240] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Rspam-User: X-Stat-Signature: umo3tum4tw3cajramj6phtotr8943rb4 X-Rspamd-Queue-Id: 4EA5318000A X-Rspamd-Server: rspam11 X-HE-Tag: 1748954310-447851 X-HE-Meta: U2FsdGVkX1/ppgB7xn88s+J1dFo4lJkoKbYn4hXHsBh37GqNz7OuJJ8Y8zR2JrvA4VrBsGtbAwArTCc96ev7IN8w2vXlkx7yqiywY+2HxMNRN9MFrv6slEKO5N3CkEpj7EguOTk2vfQhjuF0dIq/fvC0H+Tb/9Shv+Z7sGG2r/VBbYOfTKNI0jDeev6uo52ZXtLtxJmMO1ktX0fjwk8PkhHyxjhMwd90SVSx5Z9aL0PQ5fTJVYYosuDMZzrcU6ci0leYmQ/9YpkfpPbTaqifJNc0Ixm6SlGlnw/YeawQSKTFvy2FOCiR1OLObS8dHE9cvo6vxIKpQH+B/wuFfs6NamIUFQS0GxXKwu7OElKsQ0buqVubfWjSVAoyp8IEt2ADU4CrKTv9HRmXY1arCdPpLpRe16s01tbM0mgu6p4vTVg9t1bxWJHKNS0xwGumtuP17bAR0ryyGY9KRZhpuEmRz5X1f/eSRc/pLvLm1ewx/tiywkHonIY02FBfZGK9gaNbbVVKV1Ww3iTdcoNu8LW0ht1mjwQFfRxSyPA3igXv9fWI47irxR8uZpTjXFYGer7/NQYbSI2dva6Kd5KICghN+9Tq4Ant4atxabflyDk8yrGEqSXGLpYQDwdeNFzR8RImRUL3G/xC0wH9aopHIe8KnJmwcBBga9xoj4uPdBZl+vpptAlziT354aAHKMMOViQlCm5yfxA3GUbtgXkAkcxeXfK7pDtNbcxJmdBnepyMXnjOUqpjnRtToRwDatz9uQ/q4nqQi4kj7d29GVJHBSVCBFj9eQ1bCiGCCAYwuRz1ONqAqy1+1nw/krmZWByby7go44s7/GBEkj+Wv6H99CznFU83fgw/j0tE7Kav60gagSmaxJx7WmBLOKOirlSYJ3wayvjaEntNhW8amle97WOMP2qgW3//kVpP6W1x7p71+aKjkhI3txIzc0clQyE5BarVG5ttfzp4EmZU6zGgRJT eXMa3bAf 60hzrCBnTdHJ6ntrEuUHn1CI4X2m+vYOsUl7e0rUxTm9O3PKeKS80rOGWStvxPy5Hlzw3YJvM2IS4LTwCuY0wh2bi/ogX3t9KKEiYmXdTumiIhBM3NDLP4GALekkChQDfd1vkP6yRLUXYPFuXvTmu1z7zjsWxH5ifyx1NAoWPtKPS5N1Tl4phJEX2tm0kvZpXfT61HXDE7oO8YVbqVXD0GwT+m0yy4QBd/yzKJWL9nfvdzoR5F4yNi8Wqg4/vEXDSevXfAkbIyLqU9vze3cyAh7ArMMTOw80NnDdufJfo7IQovVSIo1FYsJirJ0lc6lS4UTsxL1Nz+Wvg0no4qR3GvTF+xHF2A0uGtOkrI0V6KclNudrzb1s74TnGfXXrd0760xBDPeiT6yeQ9tCGwOzpNHOVG//G4tEExEW5x4SJ2v1g70B2xFJ8HbyFWuKCyddtmVrtO2m0Am6u70/f6TeVTj67uPIMNb6c/GZzY2BLIK2c6PkTYqife4Ybau6G9S3g2MlGmYqbCmys0rksEx4DzOwc7YJef0mbuO1mkMFylCAUXMFYT/9YMd9XU/ww5CssoVGZwxA7CSz6BFNjJHazIvNCktHJ+6oGTVOf5EnKV7Ub3dhR+Au/+7UYodrr6K1yhveninNWszFO6wSzJdn9XPzhR64anAfQJ4skqZMW/EyoBT+aFhbdOqFm3GzpyAhNKuVNy/QM9x4aPQiE4cc1QXRAazW6Ia1Qdc7eSJCMXS6NQLYY0yDKoLgkXmjQ6l3ZAS9XJ4IG2QvQbRree5NBh1ocT8kdxjBz0mLnmx7wCUU0H6oDw4Is4IVdb8xMF+Evb61+szn65+d3XvOPE4wEkHS5HJfIXtt9sbnEpmfdSTZaH39hDSBEZL8HLIz4ziCo1QVt0hXa3rwou/4JoecCM47nnqg8/rD1bOjis6lAbwVH2x2xQ3oxQYN9vBXeXGY2w3Qc2ineKNLa8JWXvs4o2oYwyQnq 7/vuM5N+ GkyB1+T9H1I= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQW1pciBHb2xkc3RlaW4g PGFtaXI3M2lsQGdtYWlsLmNvbT4NCj4gU2VudDogVHVlc2RheSwgSnVuZSAzLCAyMDI1IDY6NTcg UE0NCj4gVG86IHdhbmd0YW8gPHRhby53YW5ndGFvQGhvbm9yLmNvbT4NCj4gQ2M6IHN1bWl0LnNl bXdhbEBsaW5hcm8ub3JnOyBjaHJpc3RpYW4ua29lbmlnQGFtZC5jb207DQo+IGtyYXhlbEByZWRo YXQuY29tOyB2aXZlay5rYXNpcmVkZHlAaW50ZWwuY29tOyB2aXJvQHplbml2LmxpbnV4Lm9yZy51 azsNCj4gYnJhdW5lckBrZXJuZWwub3JnOyBodWdoZEBnb29nbGUuY29tOyBha3BtQGxpbnV4LWZv dW5kYXRpb24ub3JnOw0KPiBiZW5qYW1pbi5nYWlnbmFyZEBjb2xsYWJvcmEuY29tOyBCcmlhbi5T dGFya2V5QGFybS5jb207DQo+IGpzdHVsdHpAZ29vZ2xlLmNvbTsgdGptZXJjaWVyQGdvb2dsZS5j b207IGphY2tAc3VzZS5jejsNCj4gYmFvbGluLndhbmdAbGludXguYWxpYmFiYS5jb207IGxpbnV4 LW1lZGlhQHZnZXIua2VybmVsLm9yZzsgZHJpLQ0KPiBkZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5v cmc7IGxpbmFyby1tbS1zaWdAbGlzdHMubGluYXJvLm9yZzsgbGludXgtDQo+IGtlcm5lbEB2Z2Vy Lmtlcm5lbC5vcmc7IGxpbnV4LWZzZGV2ZWxAdmdlci5rZXJuZWwub3JnOyBsaW51eC0NCj4gbW1A a3ZhY2sub3JnOyB3YW5nYmludGlhbihCaW50aWFuV2FuZykgPGJpbnRpYW4ud2FuZ0Bob25vci5j b20+Ow0KPiB5aXBlbmd4aWFuZyA8eWlwZW5neGlhbmdAaG9ub3IuY29tPjsgbGl1bHUgMDAwMTMx NjcNCj4gPGxpdWx1LmxpdUBob25vci5jb20+OyBoYW5mZW5nIDAwMDEyOTg1IDxmZW5nLmhhbkBo b25vci5jb20+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjQgMS80XSBmczogYWxsb3cgY3Jvc3Mt RlMgY29weV9maWxlX3JhbmdlIGZvciBtZW1vcnkNCj4gZmlsZSB3aXRoIGRpcmVjdCBJL08NCj4g DQo+IE9uIFR1ZSwgSnVuIDMsIDIwMjUgYXQgMTE6NTPigK9BTSB3YW5ndGFvIDx0YW8ud2FuZ3Rh b0Bob25vci5jb20+IHdyb3RlOg0KPiA+DQo+ID4gTWVtb3J5IGZpbGVzIGNhbiBvcHRpbWl6ZSBj b3B5IHBlcmZvcm1hbmNlIHZpYSBjb3B5X2ZpbGVfcmFuZ2UgY2FsbGJhY2tzOg0KPiA+IC1Db21w YXJlZCB0byBtbWFwJnJlYWQ6IHJlZHVjZXMgR1VQIChnZXRfdXNlcl9wYWdlcykgb3ZlcmhlYWQN Cj4gPiAtQ29tcGFyZWQgdG8gc2VuZGZpbGUvc3BsaWNlOiBlbGltaW5hdGVzIG9uZSBtZW1vcnkg Y29weSAtU3VwcG9ydHMNCj4gPiBkbWEtYnVmIGRpcmVjdCBJL08gemVyby1jb3B5IGltcGxlbWVu dGF0aW9uDQo+ID4NCj4gPiBTdWdnZXN0ZWQgYnk6IENocmlzdGlhbiBLw7ZuaWcgPGNocmlzdGlh bi5rb2VuaWdAYW1kLmNvbT4gU3VnZ2VzdGVkIGJ5Og0KPiA+IEFtaXIgR29sZHN0ZWluIDxhbWly NzNpbEBnbWFpbC5jb20+DQo+ID4gU2lnbmVkLW9mZi1ieTogd2FuZ3RhbyA8dGFvLndhbmd0YW9A aG9ub3IuY29tPg0KPiA+IC0tLQ0KPiA+ICBmcy9yZWFkX3dyaXRlLmMgICAgfCA2NCArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0NCj4gLS0tLQ0KPiA+ICBpbmNsdWRl L2xpbnV4L2ZzLmggfCAgMiArKw0KPiA+ICAyIGZpbGVzIGNoYW5nZWQsIDU0IGluc2VydGlvbnMo KyksIDEyIGRlbGV0aW9ucygtKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL2ZzL3JlYWRfd3JpdGUu YyBiL2ZzL3JlYWRfd3JpdGUuYyBpbmRleA0KPiA+IGJiMGVkMjZhMGIzYS4uZWNiNGY3NTNjNjMy IDEwMDY0NA0KPiA+IC0tLSBhL2ZzL3JlYWRfd3JpdGUuYw0KPiA+ICsrKyBiL2ZzL3JlYWRfd3Jp dGUuYw0KPiA+IEBAIC0xNDY5LDYgKzE0NjksMzEgQEAgQ09NUEFUX1NZU0NBTExfREVGSU5FNChz ZW5kZmlsZTY0LCBpbnQsDQo+IG91dF9mZCwNCj4gPiBpbnQsIGluX2ZkLCAgfSAgI2VuZGlmDQo+ ID4NCj4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgKm1lbW9yeV9jb3B5 X2ZpbGVfb3BzKA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBmaWxlICpmaWxl X2luLCBzdHJ1Y3QgZmlsZSAqZmlsZV9vdXQpIHsNCj4gPiArICAgICAgIGlmICgoZmlsZV9pbi0+ Zl9vcC0+Zm9wX2ZsYWdzICYgRk9QX01FTU9SWV9GSUxFKSAmJg0KPiA+ICsgICAgICAgICAgIChm aWxlX2luLT5mX21vZGUgJiBGTU9ERV9DQU5fT0RJUkVDVCkgJiYNCj4gPiArICAgICAgICAgICBm aWxlX2luLT5mX29wLT5jb3B5X2ZpbGVfcmFuZ2UgJiYgZmlsZV9vdXQtPmZfb3AtPndyaXRlX2l0 ZXIpDQo+ID4gKyAgICAgICAgICAgICAgIHJldHVybiBmaWxlX2luLT5mX29wOw0KPiA+ICsgICAg ICAgZWxzZSBpZiAoKGZpbGVfb3V0LT5mX29wLT5mb3BfZmxhZ3MgJiBGT1BfTUVNT1JZX0ZJTEUp ICYmDQo+ID4gKyAgICAgICAgICAgICAgICAoZmlsZV9vdXQtPmZfbW9kZSAmIEZNT0RFX0NBTl9P RElSRUNUKSAmJg0KPiA+ICsgICAgICAgICAgICAgICAgZmlsZV9pbi0+Zl9vcC0+cmVhZF9pdGVy ICYmIGZpbGVfb3V0LT5mX29wLT5jb3B5X2ZpbGVfcmFuZ2UpDQo+ID4gKyAgICAgICAgICAgICAg IHJldHVybiBmaWxlX291dC0+Zl9vcDsNCj4gPiArICAgICAgIGVsc2UNCj4gPiArICAgICAgICAg ICAgICAgcmV0dXJuIE5VTEw7DQo+ID4gK30NCj4gPiArDQo+ID4gK3N0YXRpYyBpbnQgZXNzZW50 aWFsX2ZpbGVfcndfY2hlY2tzKHN0cnVjdCBmaWxlICpmaWxlX2luLCBzdHJ1Y3QgZmlsZQ0KPiA+ ICsqZmlsZV9vdXQpIHsNCj4gPiArICAgICAgIGlmICghKGZpbGVfaW4tPmZfbW9kZSAmIEZNT0RF X1JFQUQpIHx8DQo+ID4gKyAgICAgICAgICAgIShmaWxlX291dC0+Zl9tb2RlICYgRk1PREVfV1JJ VEUpIHx8DQo+ID4gKyAgICAgICAgICAgKGZpbGVfb3V0LT5mX2ZsYWdzICYgT19BUFBFTkQpKQ0K PiA+ICsgICAgICAgICAgICAgICByZXR1cm4gLUVCQURGOw0KPiA+ICsNCj4gPiArICAgICAgIHJl dHVybiAwOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICAvKg0KPiA+ICAgKiBQZXJmb3JtcyBuZWNlc3Nh cnkgY2hlY2tzIGJlZm9yZSBkb2luZyBhIGZpbGUgY29weQ0KPiA+ICAgKg0KPiA+IEBAIC0xNDg0 LDkgKzE1MDksMTYgQEAgc3RhdGljIGludCBnZW5lcmljX2NvcHlfZmlsZV9jaGVja3Moc3RydWN0 IGZpbGUNCj4gKmZpbGVfaW4sIGxvZmZfdCBwb3NfaW4sDQo+ID4gICAgICAgICBzdHJ1Y3QgaW5v ZGUgKmlub2RlX291dCA9IGZpbGVfaW5vZGUoZmlsZV9vdXQpOw0KPiA+ICAgICAgICAgdWludDY0 X3QgY291bnQgPSAqcmVxX2NvdW50Ow0KPiA+ICAgICAgICAgbG9mZl90IHNpemVfaW47DQo+ID4g KyAgICAgICBib29sIHNwbGljZSA9IGZsYWdzICYgQ09QWV9GSUxFX1NQTElDRTsNCj4gPiArICAg ICAgIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgKm1lbV9mb3BzOw0KPiA+ICAgICAgICAg aW50IHJldDsNCj4gPg0KPiA+IC0gICAgICAgcmV0ID0gZ2VuZXJpY19maWxlX3J3X2NoZWNrcyhm aWxlX2luLCBmaWxlX291dCk7DQo+ID4gKyAgICAgICAvKiBUaGUgZG1hLWJ1ZiBmaWxlIGlzIG5v dCBhIHJlZ3VsYXIgZmlsZS4gKi8NCj4gPiArICAgICAgIG1lbV9mb3BzID0gbWVtb3J5X2NvcHlf ZmlsZV9vcHMoZmlsZV9pbiwgZmlsZV9vdXQpOw0KPiA+ICsgICAgICAgaWYgKHNwbGljZSB8fCBt ZW1fZm9wcyA9PSBOVUxMKQ0KPiANCj4gbml0OiB1c2UgIW1lbV9mb3BzIHBsZWFzZQ0KPiANCj4g Q29uc2lkZXJpbmcgdGhhdCB0aGUgZmxhZyBDT1BZX0ZJTEVfU1BMSUNFIGlzIG5vdCBhbGxvd2Vk IGZyb20gdXNlcnNwYWNlDQo+IGFuZCBpcyBvbmx5IGNhbGxlZCBieSBuZnNkIGFuZCBrc21iZCBJ IHRoaW5rIHdlIHNob3VsZCBhc3NlcnQgYW5kIGRlbnkgdGhlDQo+IGNvbWJpbmF0aW9uIG9mIG1l bV9mb3BzICYmIHNwbGljZSBiZWNhdXNlIGl0IGlzIHZlcnkgbXVjaCB1bmV4cGVjdGVkLg0KPiAN Cj4gQWZ0ZXIgYXNzZXJ0aW5nIHRoaXMsIGl0IHdvdWxkIGJlIG5pY2VyIHRvIHdyaXRlIGFzOg0K PiAgICAgICAgIGlmIChtZW1fZm9wcykNCj4gICAgICAgICAgICAgICAgcmV0ID0gZXNzZW50aWFs X2ZpbGVfcndfY2hlY2tzKGZpbGVfaW4sIGZpbGVfb3V0KTsNCj4gICAgICAgICBlbHNlDQo+ICAg ICAgICAgICAgICAgIHJldCA9IGdlbmVyaWNfZmlsZV9yd19jaGVja3MoZmlsZV9pbiwgZmlsZV9v dXQpOw0KPiANCkdvdCBpdC4gVGhhbmtzLg0KPiA+ICsgICAgICAgZWxzZQ0KPiA+ICsgICAgICAg ICAgICAgICByZXQgPSBlc3NlbnRpYWxfZmlsZV9yd19jaGVja3MoZmlsZV9pbiwgZmlsZV9vdXQp Ow0KPiA+ICAgICAgICAgaWYgKHJldCkNCj4gPiAgICAgICAgICAgICAgICAgcmV0dXJuIHJldDsN Cj4gPg0KPiA+IEBAIC0xNTAwLDggKzE1MzIsMTAgQEAgc3RhdGljIGludCBnZW5lcmljX2NvcHlf ZmlsZV9jaGVja3Moc3RydWN0IGZpbGUNCj4gKmZpbGVfaW4sIGxvZmZfdCBwb3NfaW4sDQo+ID4g ICAgICAgICAgKiBhbmQgc2V2ZXJhbCBkaWZmZXJlbnQgc2V0cyBvZiBmaWxlX29wZXJhdGlvbnMs IGJ1dCB0aGV5IGFsbCBlbmQgdXANCj4gPiAgICAgICAgICAqIHVzaW5nIHRoZSBzYW1lIC0+Y29w eV9maWxlX3JhbmdlKCkgZnVuY3Rpb24gcG9pbnRlci4NCj4gPiAgICAgICAgICAqLw0KPiA+IC0g ICAgICAgaWYgKGZsYWdzICYgQ09QWV9GSUxFX1NQTElDRSkgew0KPiA+ICsgICAgICAgaWYgKHNw bGljZSkgew0KPiA+ICAgICAgICAgICAgICAgICAvKiBjcm9zcyBzYiBzcGxpY2UgaXMgYWxsb3dl ZCAqLw0KPiA+ICsgICAgICAgfSBlbHNlIGlmIChtZW1fZm9wcyAhPSBOVUxMKSB7DQo+IA0KPiBX aXRoIHRoZSBhc3NlcnRpb24gdGhhdCBzcGxpY2UgJiYgbWVtX2ZvcHMgaXMgbm90IGFsbG93ZWQg aWYgKHNwbGljZSB8fA0KPiBtZW1fZm9wcykgew0KPiANCj4gd291bGQgZ28gd2VsbCB0b2dldGhl ciBiZWNhdXNlIHRoZXkgYm90aCBhbGxvdyBjcm9zcy1mcyBjb3B5IG5vdCBvbmx5IGNyb3NzDQo+ IHNiLg0KPiANCkdpdCBpdC4NCg0KPiA+ICsgICAgICAgICAgICAgICAvKiBjcm9zcy1mcyBjb3B5 IGlzIGFsbG93ZWQgZm9yIG1lbW9yeSBmaWxlLiAqLw0KPiA+ICAgICAgICAgfSBlbHNlIGlmIChm aWxlX291dC0+Zl9vcC0+Y29weV9maWxlX3JhbmdlKSB7DQo+ID4gICAgICAgICAgICAgICAgIGlm IChmaWxlX2luLT5mX29wLT5jb3B5X2ZpbGVfcmFuZ2UgIT0NCj4gPiAgICAgICAgICAgICAgICAg ICAgIGZpbGVfb3V0LT5mX29wLT5jb3B5X2ZpbGVfcmFuZ2UpIEBAIC0xNTU0LDYNCj4gPiArMTU4 OCw3IEBAIHNzaXplX3QgdmZzX2NvcHlfZmlsZV9yYW5nZShzdHJ1Y3QgZmlsZSAqZmlsZV9pbiwg bG9mZl90IHBvc19pbiwNCj4gPiAgICAgICAgIHNzaXplX3QgcmV0Ow0KPiA+ICAgICAgICAgYm9v bCBzcGxpY2UgPSBmbGFncyAmIENPUFlfRklMRV9TUExJQ0U7DQo+ID4gICAgICAgICBib29sIHNh bWVzYiA9IGZpbGVfaW5vZGUoZmlsZV9pbiktPmlfc2IgPT0NCj4gPiBmaWxlX2lub2RlKGZpbGVf b3V0KS0+aV9zYjsNCj4gPiArICAgICAgIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgKm1l bV9mb3BzOw0KPiA+DQo+ID4gICAgICAgICBpZiAoZmxhZ3MgJiB+Q09QWV9GSUxFX1NQTElDRSkN Cj4gPiAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+ID4gQEAgLTE1NzQsMTggKzE2 MDksMjcgQEAgc3NpemVfdCB2ZnNfY29weV9maWxlX3JhbmdlKHN0cnVjdCBmaWxlICpmaWxlX2lu LA0KPiBsb2ZmX3QgcG9zX2luLA0KPiA+ICAgICAgICAgaWYgKGxlbiA9PSAwKQ0KPiA+ICAgICAg ICAgICAgICAgICByZXR1cm4gMDsNCj4gPg0KPiA+ICsgICAgICAgaWYgKHNwbGljZSkNCj4gPiAr ICAgICAgICAgICAgICAgZ290byBkb19zcGxpY2U7DQo+ID4gKw0KPiA+ICAgICAgICAgZmlsZV9z dGFydF93cml0ZShmaWxlX291dCk7DQo+ID4NCj4gDQo+IGdvdG8gZG9fc3BsaWNlIG5lZWRzIHRv IGJlIGFmdGVyIGZpbGVfc3RhcnRfd3JpdGUNCj4gDQo+IFBsZWFzZSB3YWl0IGZvciBmZWVkYmFj ayBmcm9tIHZmcyBtYWludGFpbmVycyBiZWZvcmUgcG9zdGluZyBhbm90aGVyDQo+IHZlcnNpb24g YWRkcmVzc2luZyBteSByZXZpZXcgY29tbWVudHMuDQo+IA0KQXJlIHlvdSBhc2tpbmcgd2hldGhl ciBib3RoIHRoZSBnb3RvIGRvX3NwbGljZSBhbmQgdGhlIGRvX3NwbGljZSBsYWJlbCBzaG91bGQN CmJlIGVuY2xvc2VkIGJldHdlZW4gZmlsZV9zdGFydF93cml0ZSBhbmQgZmlsZV9lbmRfd3JpdGU/ DQoNClJlZ2FyZHMsDQpXYW5ndGFvLg0KPiBUaGFua3MsDQo+IEFtaXIuDQo=