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 X-Spam-Level: X-Spam-Status: No, score=-5.3 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BA326C33CB1 for ; Sun, 19 Jan 2020 10:06:47 +0000 (UTC) Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 403002073A for ; Sun, 19 Jan 2020 10:06:47 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=alsa-project.org header.i=@alsa-project.org header.b="ot42jXlJ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 403002073A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=alsa-devel-bounces@alsa-project.org Received: from alsa1.perex.cz (alsa1.perex.cz [207.180.221.201]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id 84C1616A3; Sun, 19 Jan 2020 11:05:55 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 84C1616A3 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1579428405; bh=/7YJ8/swCDFB8YKUGUIpuO4hyzjAu4FbmPn5y6Zqlk8=; h=To:References:From:Date:In-Reply-To:Cc:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From; b=ot42jXlJXmd02ZvtHAi6LHheSKV0n3p6pvY8YDW2CdKnfN+m4flD7AfbXD1ylb11n q6iDfzAJAmVEghtWT7yLM0kPXuRJQjEi/yc/2YhGCtjl4mf/UP0TAAlTNU5OpKLbEX 3E40knNWi1kO4g4jPk2CLyUHroK9aHrOD75dc9Hc= Received: from alsa1.perex.cz (localhost.localdomain [127.0.0.1]) by alsa1.perex.cz (Postfix) with ESMTP id 0BBEEF80143; Sun, 19 Jan 2020 11:05:55 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 17746F801D9; Sun, 19 Jan 2020 11:05:53 +0100 (CET) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id B1EAAF8011E for ; Sun, 19 Jan 2020 11:05:48 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz B1EAAF8011E X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 19 Jan 2020 02:05:46 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,337,1574150400"; d="scan'208";a="214964303" Received: from keyon-x299.sh.intel.com (HELO [10.239.159.75]) ([10.239.159.75]) by orsmga007.jf.intel.com with ESMTP; 19 Jan 2020 02:05:44 -0800 To: Takashi Iwai References: <20200116045318.5498-1-yang.jie@linux.intel.com> <97bbe88d1a6b63fe8e9b02bf0c5ce4a80553c48d.camel@linux.intel.com> <3c0a0067043d614cd4491b28acf6d49640746b15.camel@linux.intel.com> <93ac843a-bad5-550e-f427-e2a94bd3e8ef@linux.intel.com> <3374dc7d-e969-5380-581a-f6801a2fe50f@linux.intel.com> <68e008e2-6796-f893-35ed-d76a2bf92587@linux.intel.com> <7c6bb315-1ffc-665d-ff5e-e5e440f3e609@linux.intel.com> From: Keyon Jie Message-ID: Date: Sun, 19 Jan 2020 18:14:56 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US Cc: "alsa-devel@alsa-project.org" , Pierre-Louis Bossart , "Rajwa, Marcin" Subject: Re: [alsa-devel] [PATCH] ALSA: pcm: fix buffer_bytes max constrained by preallocated bytes issue X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: alsa-devel-bounces@alsa-project.org Sender: "Alsa-devel" T24gMjAyMC8xLzE5IOS4i+WNiDU6MDQsIFRha2FzaGkgSXdhaSB3cm90ZToKPiBPbiBTdW4sIDE5 IEphbiAyMDIwIDA5OjExOjE3ICswMTAwLAo+IEtleW9uIEppZSB3cm90ZToKPj4gT24gMjAyMC8x LzE5IOS4i+WNiDM6MDksIFRha2FzaGkgSXdhaSB3cm90ZToKPj4gSXQgdmFyaWVzIGZvciBlYWNo IHN0cmVhbSwgbW9zdCBvZiB0aGVtIGFyZSA2NTUzNiBCeXRlcyBvbmx5LCB3aGVyZWFzCj4+IG9u ZSBmb3IgV2FrZS1Pbi1Wb2ljZSBtaWdodCBuZWVkIGEgPiA0IFNlY29uZHMgYnVmZmVyIGNvdWxk IGJlIHVwIHRvCj4+IGFib3V0IDF+Mk1CeXRlcywgYW5kIGFub3RoZXIgb25lIGZvciBkZWVwLWJ1 ZmZlciBwbGF5YmFjayBjYW4gYmUgdXAgdG8KPj4gYWJvdXQgOE1CeXRlcy4KPiBIbSwgc28gdGhp cyB2YXJpZXMgc28gbXVjaCBkZXBlbmRpbmcgb24gdGhlIHVzZSBjYXNlPwo+IEkgdGhvdWdodCBp dCBjb21lcyBmcm9tIHRoZSB0b3BvbG9neSBmaWxlIGFuZCBpdCdzIGVzc2VudGlhbGx5Cj4gY29u c2lzdGVudCBvdmVyIHZhcmlvdXMgcHVycG9zZXMuCgpZZXMsIHdlIGFkZCBkaWZmZXJlbnQgYnVm ZmVyX2J5dGVzX21heCBsaW1pdGF0aW9uIHRvIGVhY2ggc3RyZWFtIApkZXBlbmRpbmcgb24gaXRz IHVzZSBjYXNlLCBiYXNpY2FsbHkgd2Ugc2V0IGl0IHRvIHRoZSBtYXhpbXVtIHZhbHVlIHdlIApj bGFpbSB0byBzdXBwb3J0IG9ubHksIHdlIGRvbid0IHdhbnQgdG8gd2FzdGUgYW55IG9mIHRoZSBz eXN0ZW0gbWVtb3J5LgoKPiAKPj4+IEkgdGhpbmsgd2UgY2FuIGdvIGZvciBwYXNzaW5nIHplcm8g YXMgZGVmYXVsdCwgd2hpY2ggbWVhbnMgc2tpcHBpbmcKPj4+IHByZWFsbG9jYXRpb24uICBJbiBh ZGRpdGlvbiwgd2UgbWF5IGFkZCBhbiB1cHBlciBsaW1pdCBvZiB0aGUgdG90YWwKPj4gSnVzdCBk aWQgYW4gZXhwZXJpbWVudCBhbmQgdGhpcyB3b3JrcyBmb3IgbWUsIEkgYmVsaWV2ZSB3ZSBzdGls bCBuZWVkCj4+IHRvIGNhbGwgc25kX3BjbV9zZXRfbWFuYWdlZF9idWZmZXIoKSB0aG91Z2ggdGhl IHByZWFsbG9jYXRpb24gaXMKPj4gc2tpcHBlZCBpbiB0aGlzLCByaWdodD8KPiBObywgc25kX3Bj bV9zZXRfbWFuYWdlZF9idWZmZXIoKSBpcyB0aGUgbmV3IFBDTSBwcmVhbGxvY2F0aW9uIEFQSS4K PiBUaGUgb2xkIHNuZF9wY21fbGliX3ByZWFsbG9jYXRlKigpIGlzIGFsbW9zdCBnb25lLgoKV2hh dCBJIGFza2VkIGlzIGFjdHVhbGx5IHRoYXQgc2luY2UgdGhlIHByZWFsbG9jYXRpb24gd2lsbCBi ZSAKc2tpcHBlZCh3aXRoIHBhc3Npbmcgc2l6ZT0wKSwgY2FuIHdlIGp1c3Qgbm90IGNhbGxpbmcg CnNuZF9wY21fc2V0X21hbmFnZWRfYnVmZmVyKCkgb3Igc25kX3BjbV9saWJfcHJlYWxsb2NhdGUq KCkgaW4gb3VyIFNPRiAKUENNIGRyaXZlcj8gSSBiZWxpZXZlIG5vKHdlIHN0aWxsIG5lZWQgdGhl IGludm9raW5nIHRvIGRvIGluaXRpYWxpemF0aW9uIApleGNlcHQgYnVmZmVyIGFsbG9jYXRpbmcp PwoKPiAKPj4+IGFtb3VudCBvZiBhbGxvY2F0aW9uIHBlciBjYXJkLCBjb250cm9sbGVkIGluIHBj bV9tZW1vcnkuYywgZm9yCj4+PiBleGFtcGxlLiAgVGhpcyBsb2dpYyBjYW4gYmUgYXBwbGllZCB0 byB0aGUgbGVnYWN5IEhEQSwgdG9vLgo+Pj4KPj4+IFRoaXMgc2hvdWxkIGJlIHJlbGF0aXZlbHkg ZWFzeSwgYW5kIEknbGwgcHJvdmlkZSB0aGUgcGF0Y2ggaW4gdGhlIG5leHQKPj4+IHdlZWsuCj4+ IE9LLCB0aGF0J3MgZmluZSBmb3IgbWUgYWxzbywgdGhhbmsgeW91Lgo+IEJlbG93IGlzIGEgcXVp Y2sgaGFjayBmb3IgSERBLiAgV2Ugc3RpbGwgbmVlZCB0aGUgY2VydGFpbiBhbW91bnQgb2YKPiBw cmVhbGxvY2F0aW9uIGZvciBub24teDg2IHN5c3RlbXMgdGhhdCBkb24ndCBzdXBwb3J0IFNHLWJ1 ZmZlcnMsIHNvCj4gYSBiaXQgb2YgdHJpY2sgaXMgYXBwbGllZCB0byBLY29uZmlnLgo+IAo+IFRv dGFsbHkgdW50ZXN0ZWQsIGFzIHVzdWFsLgoKRGlkIGEgcXVpY2sgdGVzdChwbHVzIHBhc3Npbmcg MCBzaXplIGZvciBwcmVhbGxvY2F0ZSBpbiBTT0YgUENNIGRyaXZlcikgCmFuZCBpdCB3b3JrcyBm b3IgbXkgdXNlIGNhc2Uobm8gcmVncmVzc2lvbiBjb21wYXJpbmcgdGhhdCB3aXRob3V0IAphcHBs eWluZyB0aGlzIHBhdGNoKSwgVGhhbmsgeW91LgoKVGhhbmtzLAp+S2V5b24KCj4gCj4gCj4gdGhh bmtzLAo+IAo+IFRha2FzaGkKPiAKPiAtLS0KPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9zb3VuZC9j b3JlLmggYi9pbmNsdWRlL3NvdW5kL2NvcmUuaAo+IGluZGV4IDBlMTRiN2EzZTY3Yi4uYWM4YjY5 MmI2OWI0IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvc291bmQvY29yZS5oCj4gKysrIGIvaW5jbHVk ZS9zb3VuZC9jb3JlLmgKPiBAQCAtMTIwLDYgKzEyMCw5IEBAIHN0cnVjdCBzbmRfY2FyZCB7Cj4g ICAJaW50IHN5bmNfaXJxOwkJCS8qIGFzc2lnbmVkIGlycSwgdXNlZCBmb3IgUENNIHN5bmMgKi8K PiAgIAl3YWl0X3F1ZXVlX2hlYWRfdCByZW1vdmVfc2xlZXA7Cj4gICAKPiArCXNpemVfdCB0b3Rh bF9wY21fYWxsb2NfYnl0ZXM7CS8qIHRvdGFsIGFtb3VudCBvZiBhbGxvY2F0ZWQgYnVmZmVycyAq Lwo+ICsJc3RydWN0IG11dGV4IG1lbW9yeV9tdXRleDsJLyogcHJvdGVjdGlvbiBmb3IgdGhlIGFi b3ZlICovCj4gKwo+ICAgI2lmZGVmIENPTkZJR19QTQo+ICAgCXVuc2lnbmVkIGludCBwb3dlcl9z dGF0ZTsJLyogcG93ZXIgc3RhdGUgKi8KPiAgIAl3YWl0X3F1ZXVlX2hlYWRfdCBwb3dlcl9zbGVl cDsKPiBkaWZmIC0tZ2l0IGEvc291bmQvY29yZS9pbml0LmMgYi9zb3VuZC9jb3JlL2luaXQuYwo+ IGluZGV4IGZhYTlmMDNjMDFjYS4uYjAyYTk5NzY2MzUxIDEwMDY0NAo+IC0tLSBhL3NvdW5kL2Nv cmUvaW5pdC5jCj4gKysrIGIvc291bmQvY29yZS9pbml0LmMKPiBAQCAtMjExLDYgKzIxMSw3IEBA IGludCBzbmRfY2FyZF9uZXcoc3RydWN0IGRldmljZSAqcGFyZW50LCBpbnQgaWR4LCBjb25zdCBj aGFyICp4aWQsCj4gICAJSU5JVF9MSVNUX0hFQUQoJmNhcmQtPmN0bF9maWxlcyk7Cj4gICAJc3Bp bl9sb2NrX2luaXQoJmNhcmQtPmZpbGVzX2xvY2spOwo+ICAgCUlOSVRfTElTVF9IRUFEKCZjYXJk LT5maWxlc19saXN0KTsKPiArCW11dGV4X2luaXQoJmNhcmQtPm1lbW9yeV9tdXRleCk7Cj4gICAj aWZkZWYgQ09ORklHX1BNCj4gICAJaW5pdF93YWl0cXVldWVfaGVhZCgmY2FyZC0+cG93ZXJfc2xl ZXApOwo+ICAgI2VuZGlmCj4gZGlmZiAtLWdpdCBhL3NvdW5kL2NvcmUvcGNtX21lbW9yeS5jIGIv c291bmQvY29yZS9wY21fbWVtb3J5LmMKPiBpbmRleCBkNDcwMmNjMWQzNzYuLjQ4ODNiMGNjZDQ3 NSAxMDA2NDQKPiAtLS0gYS9zb3VuZC9jb3JlL3BjbV9tZW1vcnkuYwo+ICsrKyBiL3NvdW5kL2Nv cmUvcGNtX21lbW9yeS5jCj4gQEAgLTI3LDYgKzI3LDM3IEBAIE1PRFVMRV9QQVJNX0RFU0MobWF4 aW11bV9zdWJzdHJlYW1zLCAiTWF4aW11bSBzdWJzdHJlYW1zIHdpdGggcHJlYWxsb2NhdGVkIERN QSBtCj4gICAKPiAgIHN0YXRpYyBjb25zdCBzaXplX3Qgc25kX21pbmltdW1fYnVmZmVyID0gMTYz ODQ7Cj4gICAKPiArc3RhdGljIHVuc2lnbmVkIGxvbmcgbWF4X2FsbG9jX3Blcl9jYXJkID0gMzJV TCAqIDEwMjRVTCAqIDEwMjRVTCAqIDEwMjRVTDsKPiArbW9kdWxlX3BhcmFtKG1heF9hbGxvY19w ZXJfY2FyZCwgdWxvbmcsIDA2NDQpOwo+ICtNT0RVTEVfUEFSTV9ERVNDKG1heF9hbGxvY19wZXJf Y2FyZCwgIk1heCB0b3RhbCBhbGxvY2F0aW9uIGJ5dGVzIHBlciBjYXJkLiIpOwo+ICsKPiArc3Rh dGljIGludCBkb19hbGxvY19wYWdlcyhzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsIGludCB0eXBlLCBz dHJ1Y3QgZGV2aWNlICpkZXYsCj4gKwkJCSAgc2l6ZV90IHNpemUsIHN0cnVjdCBzbmRfZG1hX2J1 ZmZlciAqZG1hYikKPiArewo+ICsJaW50IGVycjsKPiArCj4gKwlpZiAoY2FyZC0+dG90YWxfcGNt X2FsbG9jX2J5dGVzICsgc2l6ZSA+IG1heF9hbGxvY19wZXJfY2FyZCkKPiArCQlyZXR1cm4gLUVO T01FTTsKPiArCWVyciA9IHNuZF9kbWFfYWxsb2NfcGFnZXModHlwZSwgZGV2LCBzaXplLCBkbWFi KTsKPiArCWlmICghZXJyKSB7Cj4gKwkJbXV0ZXhfbG9jaygmY2FyZC0+bWVtb3J5X211dGV4KTsK PiArCQljYXJkLT50b3RhbF9wY21fYWxsb2NfYnl0ZXMgKz0gZG1hYi0+Ynl0ZXM7Cj4gKwkJbXV0 ZXhfdW5sb2NrKCZjYXJkLT5tZW1vcnlfbXV0ZXgpOwo+ICsJfQo+ICsJcmV0dXJuIGVycjsKPiAr fQo+ICsKPiArc3RhdGljIHZvaWQgZG9fZnJlZV9wYWdlcyhzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQs IHN0cnVjdCBzbmRfZG1hX2J1ZmZlciAqZG1hYikKPiArewo+ICsJaWYgKCFkbWFiLT5hcmVhKQo+ ICsJCXJldHVybjsKPiArCW11dGV4X2xvY2soJmNhcmQtPm1lbW9yeV9tdXRleCk7Cj4gKwlXQVJO X09OKGNhcmQtPnRvdGFsX3BjbV9hbGxvY19ieXRlcyA8IGRtYWItPmJ5dGVzKTsKPiArCWNhcmQt PnRvdGFsX3BjbV9hbGxvY19ieXRlcyAtPSBkbWFiLT5ieXRlczsKPiArCW11dGV4X3VubG9jaygm Y2FyZC0+bWVtb3J5X211dGV4KTsKPiArCXNuZF9kbWFfZnJlZV9wYWdlcyhkbWFiKTsKPiArCWRt YWItPmFyZWEgPSBOVUxMOwo+ICt9Cj4gICAKPiAgIC8qCj4gICAgKiB0cnkgdG8gYWxsb2NhdGUg YXMgdGhlIGxhcmdlIHBhZ2VzIGFzIHBvc3NpYmxlLgo+IEBAIC0zNywxNiArNjgsMTUgQEAgc3Rh dGljIGNvbnN0IHNpemVfdCBzbmRfbWluaW11bV9idWZmZXIgPSAxNjM4NDsKPiAgIHN0YXRpYyBp bnQgcHJlYWxsb2NhdGVfcGNtX3BhZ2VzKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3Ry ZWFtLCBzaXplX3Qgc2l6ZSkKPiAgIHsKPiAgIAlzdHJ1Y3Qgc25kX2RtYV9idWZmZXIgKmRtYWIg PSAmc3Vic3RyZWFtLT5kbWFfYnVmZmVyOwo+ICsJc3RydWN0IHNuZF9jYXJkICpjYXJkID0gc3Vi c3RyZWFtLT5wY20tPmNhcmQ7Cj4gICAJc2l6ZV90IG9yaWdfc2l6ZSA9IHNpemU7Cj4gICAJaW50 IGVycjsKPiAgIAo+ICAgCWRvIHsKPiAtCQlpZiAoKGVyciA9IHNuZF9kbWFfYWxsb2NfcGFnZXMo ZG1hYi0+ZGV2LnR5cGUsIGRtYWItPmRldi5kZXYsCj4gLQkJCQkJICAgICAgIHNpemUsIGRtYWIp KSA8IDApIHsKPiAtCQkJaWYgKGVyciAhPSAtRU5PTUVNKQo+IC0JCQkJcmV0dXJuIGVycjsgLyog ZmF0YWwgZXJyb3IgKi8KPiAtCQl9IGVsc2UKPiAtCQkJcmV0dXJuIDA7Cj4gKwkJZXJyID0gZG9f YWxsb2NfcGFnZXMoY2FyZCwgZG1hYi0+ZGV2LnR5cGUsIGRtYWItPmRldi5kZXYsCj4gKwkJCQkg ICAgIHNpemUsIGRtYWIpOwo+ICsJCWlmIChlcnIgIT0gLUVOT01FTSkKPiArCQkJcmV0dXJuIGVy cjsKPiAgIAkJc2l6ZSA+Pj0gMTsKPiAgIAl9IHdoaWxlIChzaXplID49IHNuZF9taW5pbXVtX2J1 ZmZlcik7Cj4gICAJZG1hYi0+Ynl0ZXMgPSAwOyAvKiB0ZWxsIGVycm9yICovCj4gQEAgLTYyLDEw ICs5Miw3IEBAIHN0YXRpYyBpbnQgcHJlYWxsb2NhdGVfcGNtX3BhZ2VzKHN0cnVjdCBzbmRfcGNt X3N1YnN0cmVhbSAqc3Vic3RyZWFtLCBzaXplX3Qgc2l6Cj4gICAgKi8KPiAgIHN0YXRpYyB2b2lk IHNuZF9wY21fbGliX3ByZWFsbG9jYXRlX2RtYV9mcmVlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVh bSAqc3Vic3RyZWFtKQo+ICAgewo+IC0JaWYgKHN1YnN0cmVhbS0+ZG1hX2J1ZmZlci5hcmVhID09 IE5VTEwpCj4gLQkJcmV0dXJuOwo+IC0Jc25kX2RtYV9mcmVlX3BhZ2VzKCZzdWJzdHJlYW0tPmRt YV9idWZmZXIpOwo+IC0Jc3Vic3RyZWFtLT5kbWFfYnVmZmVyLmFyZWEgPSBOVUxMOwo+ICsJZG9f ZnJlZV9wYWdlcyhzdWJzdHJlYW0tPnBjbS0+Y2FyZCwgJnN1YnN0cmVhbS0+ZG1hX2J1ZmZlcik7 Cj4gICB9Cj4gICAKPiAgIC8qKgo+IEBAIC0xMzAsNiArMTU3LDcgQEAgc3RhdGljIHZvaWQgc25k X3BjbV9saWJfcHJlYWxsb2NhdGVfcHJvY193cml0ZShzdHJ1Y3Qgc25kX2luZm9fZW50cnkgKmVu dHJ5LAo+ICAgCQkJCQkgICAgICAgc3RydWN0IHNuZF9pbmZvX2J1ZmZlciAqYnVmZmVyKQo+ICAg ewo+ICAgCXN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtID0gZW50cnktPnByaXZh dGVfZGF0YTsKPiArCXN0cnVjdCBzbmRfY2FyZCAqY2FyZCA9IHN1YnN0cmVhbS0+cGNtLT5jYXJk Owo+ICAgCWNoYXIgbGluZVs2NF0sIHN0cls2NF07Cj4gICAJc2l6ZV90IHNpemU7Cj4gICAJc3Ry dWN0IHNuZF9kbWFfYnVmZmVyIG5ld19kbWFiOwo+IEBAIC0xNTAsOSArMTc4LDEwIEBAIHN0YXRp YyB2b2lkIHNuZF9wY21fbGliX3ByZWFsbG9jYXRlX3Byb2Nfd3JpdGUoc3RydWN0IHNuZF9pbmZv X2VudHJ5ICplbnRyeSwKPiAgIAkJbWVtc2V0KCZuZXdfZG1hYiwgMCwgc2l6ZW9mKG5ld19kbWFi KSk7Cj4gICAJCW5ld19kbWFiLmRldiA9IHN1YnN0cmVhbS0+ZG1hX2J1ZmZlci5kZXY7Cj4gICAJ CWlmIChzaXplID4gMCkgewo+IC0JCQlpZiAoc25kX2RtYV9hbGxvY19wYWdlcyhzdWJzdHJlYW0t PmRtYV9idWZmZXIuZGV2LnR5cGUsCj4gLQkJCQkJCXN1YnN0cmVhbS0+ZG1hX2J1ZmZlci5kZXYu ZGV2LAo+IC0JCQkJCQlzaXplLCAmbmV3X2RtYWIpIDwgMCkgewo+ICsJCQlpZiAoZG9fYWxsb2Nf cGFnZXMoY2FyZCwKPiArCQkJCQkgICBzdWJzdHJlYW0tPmRtYV9idWZmZXIuZGV2LnR5cGUsCj4g KwkJCQkJICAgc3Vic3RyZWFtLT5kbWFfYnVmZmVyLmRldi5kZXYsCj4gKwkJCQkJICAgc2l6ZSwg Jm5ld19kbWFiKSA8IDApIHsKPiAgIAkJCQlidWZmZXItPmVycm9yID0gLUVOT01FTTsKPiAgIAkJ CQlyZXR1cm47Cj4gICAJCQl9Cj4gQEAgLTE2MSw3ICsxOTAsNyBAQCBzdGF0aWMgdm9pZCBzbmRf cGNtX2xpYl9wcmVhbGxvY2F0ZV9wcm9jX3dyaXRlKHN0cnVjdCBzbmRfaW5mb19lbnRyeSAqZW50 cnksCj4gICAJCQlzdWJzdHJlYW0tPmJ1ZmZlcl9ieXRlc19tYXggPSBVSU5UX01BWDsKPiAgIAkJ fQo+ICAgCQlpZiAoc3Vic3RyZWFtLT5kbWFfYnVmZmVyLmFyZWEpCj4gLQkJCXNuZF9kbWFfZnJl ZV9wYWdlcygmc3Vic3RyZWFtLT5kbWFfYnVmZmVyKTsKPiArCQkJZG9fZnJlZV9wYWdlcyhjYXJk LCAmc3Vic3RyZWFtLT5kbWFfYnVmZmVyKTsKPiAgIAkJc3Vic3RyZWFtLT5kbWFfYnVmZmVyID0g bmV3X2RtYWI7Cj4gICAJfSBlbHNlIHsKPiAgIAkJYnVmZmVyLT5lcnJvciA9IC1FSU5WQUw7Cj4g QEAgLTM0Niw2ICszNzUsNyBAQCBzdHJ1Y3QgcGFnZSAqc25kX3BjbV9zZ2J1Zl9vcHNfcGFnZShz dHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwgdW5zaWduZQo+ICAgICovCj4gICBp bnQgc25kX3BjbV9saWJfbWFsbG9jX3BhZ2VzKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vi c3RyZWFtLCBzaXplX3Qgc2l6ZSkKPiAgIHsKPiArCXN0cnVjdCBzbmRfY2FyZCAqY2FyZCA9IHN1 YnN0cmVhbS0+cGNtLT5jYXJkOwo+ICAgCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWU7 Cj4gICAJc3RydWN0IHNuZF9kbWFfYnVmZmVyICpkbWFiID0gTlVMTDsKPiAgIAo+IEBAIC0zNzQs OSArNDA0LDEwIEBAIGludCBzbmRfcGNtX2xpYl9tYWxsb2NfcGFnZXMoc3RydWN0IHNuZF9wY21f c3Vic3RyZWFtICpzdWJzdHJlYW0sIHNpemVfdCBzaXplKQo+ICAgCQlpZiAoISBkbWFiKQo+ICAg CQkJcmV0dXJuIC1FTk9NRU07Cj4gICAJCWRtYWItPmRldiA9IHN1YnN0cmVhbS0+ZG1hX2J1ZmZl ci5kZXY7Cj4gLQkJaWYgKHNuZF9kbWFfYWxsb2NfcGFnZXMoc3Vic3RyZWFtLT5kbWFfYnVmZmVy LmRldi50eXBlLAo+IC0JCQkJCXN1YnN0cmVhbS0+ZG1hX2J1ZmZlci5kZXYuZGV2LAo+IC0JCQkJ CXNpemUsIGRtYWIpIDwgMCkgewo+ICsJCWlmIChkb19hbGxvY19wYWdlcyhjYXJkLAo+ICsJCQkJ ICAgc3Vic3RyZWFtLT5kbWFfYnVmZmVyLmRldi50eXBlLAo+ICsJCQkJICAgc3Vic3RyZWFtLT5k bWFfYnVmZmVyLmRldi5kZXYsCj4gKwkJCQkgICBzaXplLCBkbWFiKSA8IDApIHsKPiAgIAkJCWtm cmVlKGRtYWIpOwo+ICAgCQkJcmV0dXJuIC1FTk9NRU07Cj4gICAJCX0KPiBAQCAtMzk3LDYgKzQy OCw3IEBAIEVYUE9SVF9TWU1CT0woc25kX3BjbV9saWJfbWFsbG9jX3BhZ2VzKTsKPiAgICAqLwo+ ICAgaW50IHNuZF9wY21fbGliX2ZyZWVfcGFnZXMoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpz dWJzdHJlYW0pCj4gICB7Cj4gKwlzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQgPSBzdWJzdHJlYW0tPnBj bS0+Y2FyZDsKPiAgIAlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lOwo+ICAgCj4gICAJ aWYgKFBDTV9SVU5USU1FX0NIRUNLKHN1YnN0cmVhbSkpCj4gQEAgLTQwNiw3ICs0MzgsNyBAQCBp bnQgc25kX3BjbV9saWJfZnJlZV9wYWdlcyhzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0 cmVhbSkKPiAgIAkJcmV0dXJuIDA7Cj4gICAJaWYgKHJ1bnRpbWUtPmRtYV9idWZmZXJfcCAhPSAm c3Vic3RyZWFtLT5kbWFfYnVmZmVyKSB7Cj4gICAJCS8qIGl0J3MgYSBuZXdseSBhbGxvY2F0ZWQg YnVmZmVyLiAgcmVsZWFzZSBpdCBub3cuICovCj4gLQkJc25kX2RtYV9mcmVlX3BhZ2VzKHJ1bnRp bWUtPmRtYV9idWZmZXJfcCk7Cj4gKwkJZG9fZnJlZV9wYWdlcyhjYXJkLCBydW50aW1lLT5kbWFf YnVmZmVyX3ApOwo+ICAgCQlrZnJlZShydW50aW1lLT5kbWFfYnVmZmVyX3ApOwo+ICAgCX0KPiAg IAlzbmRfcGNtX3NldF9ydW50aW1lX2J1ZmZlcihzdWJzdHJlYW0sIE5VTEwpOwo+IGRpZmYgLS1n aXQgYS9zb3VuZC9oZGEvS2NvbmZpZyBiL3NvdW5kL2hkYS9LY29uZmlnCj4gaW5kZXggYjBjODhm ZTA0MGVlLi40Y2E2YjA5MDU2ZjMgMTAwNjQ0Cj4gLS0tIGEvc291bmQvaGRhL0tjb25maWcKPiAr KysgYi9zb3VuZC9oZGEvS2NvbmZpZwo+IEBAIC0yMSwxNCArMjEsMTYgQEAgY29uZmlnIFNORF9I REFfRVhUX0NPUkUKPiAgICAgICAgICBzZWxlY3QgU05EX0hEQV9DT1JFCj4gICAKPiAgIGNvbmZp ZyBTTkRfSERBX1BSRUFMTE9DX1NJWkUKPiAtCWludCAiUHJlLWFsbG9jYXRlZCBidWZmZXIgc2l6 ZSBmb3IgSEQtYXVkaW8gZHJpdmVyIgo+ICsJaW50ICJQcmUtYWxsb2NhdGVkIGJ1ZmZlciBzaXpl IGZvciBIRC1hdWRpbyBkcml2ZXIiIGlmICFTTkRfRE1BX1NHQlVGCj4gICAJcmFuZ2UgMCAzMjc2 OAo+IC0JZGVmYXVsdCA2NAo+ICsJZGVmYXVsdCAwIGlmIFNORF9ETUFfU0dCVUYKPiArCWRlZmF1 bHQgNjQgaWYgIVNORF9ETUFfU0dCVUYKPiAgIAloZWxwCj4gICAJICBTcGVjaWZpZXMgdGhlIGRl ZmF1bHQgcHJlLWFsbG9jYXRlZCBidWZmZXItc2l6ZSBpbiBrQiBmb3IgdGhlCj4gICAJICBIRC1h dWRpbyBkcml2ZXIuICBBIGxhcmdlciBidWZmZXIgKGUuZy4gMjA0OCkgaXMgcHJlZmVycmVkCj4g ICAJICBmb3Igc3lzdGVtcyB1c2luZyBQdWxzZUF1ZGlvLiAgVGhlIGRlZmF1bHQgNjQgaXMgY2hv c2VuIGp1c3QKPiAgIAkgIGZvciBjb21wYXRpYmlsaXR5IHJlYXNvbnMuCj4gKwkgIE9uIHg4NiBz eXN0ZW1zLCB0aGUgZGVmYXVsdCBpcyB6ZXJvIGFzIHdlIG5lZWQgbm8gcHJlYWxsb2NhdGlvbi4K PiAgIAo+ICAgCSAgTm90ZSB0aGF0IHRoZSBwcmUtYWxsb2NhdGlvbiBzaXplIGNhbiBiZSBjaGFu Z2VkIGR5bmFtaWNhbGx5Cj4gICAJICB2aWEgYSBwcm9jIGZpbGUgKC9wcm9jL2Fzb3VuZC9jYXJk Ki9wY20qL3N1YiovcHJlYWxsb2MpLCB0b28uCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkFsc2EtZGV2ZWwgbWFpbGluZyBsaXN0CkFsc2EtZGV2ZWxAYWxz YS1wcm9qZWN0Lm9yZwpodHRwczovL21haWxtYW4uYWxzYS1wcm9qZWN0Lm9yZy9tYWlsbWFuL2xp c3RpbmZvL2Fsc2EtZGV2ZWwK