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=-3.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=no 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 26203C33CB1 for ; Sun, 19 Jan 2020 09:05:07 +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 A43232073A for ; Sun, 19 Jan 2020 09:05:06 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=alsa-project.org header.i=@alsa-project.org header.b="oMjDd1LO" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A43232073A Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.de 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 EB2A116A8; Sun, 19 Jan 2020 10:04:14 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz EB2A116A8 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1579424705; bh=dzOzGl+4rhhpINx9Ycnd3leTo/+cNStcpN0w053pxxs=; h=Date:From:To:In-Reply-To:References:Cc:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From; b=oMjDd1LO0mM4xmcoZ06wPm2MNR8FdV2XEChej4paXcl7/N8whbjezGrk+FFUgaTLW 0Fg6McF696HPKl8V2Bhs0UbrcpNwhC5q5Qbk8JnebBfmVvlgnfon8GSjx6FBtpxcSh 4GI0/3pVac9d4cuXdF26bWA1HAg780+coZKzFvI8= Received: from alsa1.perex.cz (localhost.localdomain [127.0.0.1]) by alsa1.perex.cz (Postfix) with ESMTP id 60DF2F80143; Sun, 19 Jan 2020 10:04:14 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 1C1BCF801D9; Sun, 19 Jan 2020 10:04:12 +0100 (CET) Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id CDB8EF8013E for ; Sun, 19 Jan 2020 10:04:07 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz CDB8EF8013E X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id B0B01B140; Sun, 19 Jan 2020 09:04:06 +0000 (UTC) Date: Sun, 19 Jan 2020 10:04:06 +0100 Message-ID: From: Takashi Iwai To: Keyon Jie In-Reply-To: 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> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL/10.8 Emacs/25.3 (x86_64-suse-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") 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-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: alsa-devel-bounces@alsa-project.org Sender: "Alsa-devel" T24gU3VuLCAxOSBKYW4gMjAyMCAwOToxMToxNyArMDEwMCwKS2V5b24gSmllIHdyb3RlOgo+IAo+ IE9uIDIwMjAvMS8xOSDkuIvljYgzOjA5LCBUYWthc2hpIEl3YWkgd3JvdGU6Cj4gPiBPbiBTdW4s IDE5IEphbiAyMDIwIDA0OjUyOjU1ICswMTAwLAo+ID4gS2V5b24gSmllIHdyb3RlOgo+ID4+Cj4g Pj4KPiA+PiBPbiAyMDIwLzEvMTcg5LiL5Y2INzoxMiwgVGFrYXNoaSBJd2FpIHdyb3RlOgo+ID4+ PiBPbiBGcmksIDE3IEphbiAyMDIwIDExOjQzOjI0ICswMTAwLAo+ID4+PiBLZXlvbiBKaWUgd3Jv dGU6Cj4gPj4+Pgo+ID4+Pj4gSW4gU09GIGRyaXZlciwgd2UgZG9uJ3QgdXNlIGtlcm5lbCBjb25m aWcgaXRlbSBsaWtlCj4gPj4+PiBDT05GSUdfU05EX0hEQV9QUkVBTExPQ19TSVpFIGZvciBIREEs IHRoZSBjb2RlIGZvciBpdCBpczoKPiA+Pj4+Cj4gPj4+PiAJc25kX3BjbV9saWJfcHJlYWxsb2Nh dGVfcGFnZXMocGNtLT5zdHJlYW1zW3N0cmVhbV0uc3Vic3RyZWFtLAo+ID4+Pj4gCQkJCSAgICAg IFNORFJWX0RNQV9UWVBFX0RFVl9TRywgc2Rldi0+ZGV2LAo+ID4+Pj4gCQkJCWxlMzJfdG9fY3B1 KGNhcHMtPmJ1ZmZlcl9zaXplX21pbiksCj4gPj4+PiAJCQkJbGUzMl90b19jcHUoY2Fwcy0+YnVm ZmVyX3NpemVfbWF4KSk7Cj4gPj4+Pgo+ID4+Pj4gU28gdGhlIHByZWFsbG9jYXRlZCBzaXplIGlz IGNvbmZpZ3VyZWQgdmlhIHRvcG9sb2d5IGZpbGUsIHRoYXQgaXMKPiA+Pj4+IGNhcHMtPmJ1ZmZl cl9zaXplX21pbiwgbm8gY2hhbmNlIGZvciBQdWxzZUF1ZGlvIHRvIHJlY29uZmlndXJlIGl0Lgo+ ID4+Pj4KPiA+Pj4+IFNvLCBpdCBsb29rcyBsaWtlIHdlIGhhdmUgdG8gY2hhbmdlIGl0IHRvIHRo aXMgaWYgd2UgZG9uJ3QgY2hhbmdlIHRoZQo+ID4+Pj4gQUxTQSBjb3JlOgo+ID4+Pj4KPiA+Pj4+ IAlzbmRfcGNtX2xpYl9wcmVhbGxvY2F0ZV9wYWdlcyhwY20tPnN0cmVhbXNbc3RyZWFtXS5zdWJz dHJlYW0sCj4gPj4+PiAJCQkJICAgICAgU05EUlZfRE1BX1RZUEVfREVWX1NHLCBzZGV2LT5kZXYs Cj4gPj4+PiAtCQkJCWxlMzJfdG9fY3B1KGNhcHMtPmJ1ZmZlcl9zaXplX21pbiksCj4gPj4+PiAr CQkJCWxlMzJfdG9fY3B1KGNhcHMtPmJ1ZmZlcl9zaXplX21heCksCj4gPj4+PiAJCQkJbGUzMl90 b19jcHUoY2Fwcy0+YnVmZmVyX3NpemVfbWF4KSk7Cj4gPj4+Cj4gPj4+IFllcywgcGFzc2luZyBi dWZmZXJfc2l6ZV9taW4gZm9yIHRoZSBwcmVhbGxvY2F0aW9uIHNvdW5kcyBhbHJlYWR5Cj4gPj4+ IGJhZC4gIFRoZSBkZWZhdWx0IHZhbHVlIHNob3VsZCBiZSBzdWZmaWNpZW50IGZvciB1c3VhbCBv cGVyYXRpb25zLCBub3QKPiA+Pj4gdGhlIGNvc3QtY3V0dGluZyBtaW5pbXVtLiAgT3RoZXJ3aXNl IHRoZXJlIGlzIG5vIG1lcml0IG9mCj4gPj4+IHByZWFsbG9jYXRpb24uCj4gPj4+Cj4gPj4+IEFs dGVybmF0aXZlbHksIHdlIG1heSBwYXNzIDAgdGhlcmUsIGluZGljYXRpbmcgbm8gbGltaXRhdGlv biwgdG9vLgo+ID4+PiBCdXQsIHRoaXMgd291bGQgbmVlZCBhIGJpdCBvdGhlciBhZGp1c3RtZW50 LCBlLmcuIHNuZF9wY21faGFyZHdhcmUKPiA+Pj4gc2hvdWxkIGhhdmUgbG93ZXIgYnVmZmVyX2J5 dGVzX21heC4KPiA+Pgo+ID4+IFRoYW5rIHlvdSBUYWthc2hpLCB0aGVuIGxldCdzIGZvbGxvdyBp dCB0byBwcmUtYWxsb2NhdGUgd2l0aAo+ID4+IGNhcHMtPmJ1ZmZlcl9zaXplX21heCwgYXMgd2Ug ZG9uJ3Qgc3BlY2lmeSBhbnkgbGltaXRhdGlvbnMgaW4KPiA+PiBzbmRfcGNtX2hhcmR3YXJlIHRv ZGF5LCB3ZSB3YW50IHRvIGxlYXZlIGl0IGNvbmZpZ3VyYWJsZSB0byBlYWNoCj4gPj4gc3BlY2lm aWMgdG9wb2xvZ3kgZmlsZSBmb3IgZGlmZmVyZW50IG1hY2hpbmVzLgo+ID4KPiA+IEhvdyBiaWcg aXMgY2Fwcy0+YnVmZmVyX3NpemVfbWF4PyAgUGFzc2luZyB0aGUgdmFsdWUgdGhlcmUgbWVhbnMK PiA+IGFjdHVhbGx5IHRyeWluZyB0byBhbGxvY2F0ZSB0aGUgZ2l2ZW4gc2l6ZSBhcyBkZWZhdWx0 LCBhbmQgaXQnZCBiZSBhCj4gPiBsb3Qgb2Ygd2FzdGUgaWYgYSB0b28gbGFyZ2UgdmFsdWUgKGUu Zy4gMzJNQikgaXMgcGFzc2VkIHRoZXJlLgo+IAo+IEl0IHZhcmllcyBmb3IgZWFjaCBzdHJlYW0s IG1vc3Qgb2YgdGhlbSBhcmUgNjU1MzYgQnl0ZXMgb25seSwgd2hlcmVhcwo+IG9uZSBmb3IgV2Fr ZS1Pbi1Wb2ljZSBtaWdodCBuZWVkIGEgPiA0IFNlY29uZHMgYnVmZmVyIGNvdWxkIGJlIHVwIHRv Cj4gYWJvdXQgMX4yTUJ5dGVzLCBhbmQgYW5vdGhlciBvbmUgZm9yIGRlZXAtYnVmZmVyIHBsYXli YWNrIGNhbiBiZSB1cCB0bwo+IGFib3V0IDhNQnl0ZXMuCgpIbSwgc28gdGhpcyB2YXJpZXMgc28g bXVjaCBkZXBlbmRpbmcgb24gdGhlIHVzZSBjYXNlPwpJIHRob3VnaHQgaXQgY29tZXMgZnJvbSB0 aGUgdG9wb2xvZ3kgZmlsZSBhbmQgaXQncyBlc3NlbnRpYWxseQpjb25zaXN0ZW50IG92ZXIgdmFy aW91cyBwdXJwb3Nlcy4KCj4gPiBJIHRoaW5rIHdlIGNhbiBnbyBmb3IgcGFzc2luZyB6ZXJvIGFz IGRlZmF1bHQsIHdoaWNoIG1lYW5zIHNraXBwaW5nCj4gPiBwcmVhbGxvY2F0aW9uLiAgSW4gYWRk aXRpb24sIHdlIG1heSBhZGQgYW4gdXBwZXIgbGltaXQgb2YgdGhlIHRvdGFsCj4gCj4gSnVzdCBk aWQgYW4gZXhwZXJpbWVudCBhbmQgdGhpcyB3b3JrcyBmb3IgbWUsIEkgYmVsaWV2ZSB3ZSBzdGls bCBuZWVkCj4gdG8gY2FsbCBzbmRfcGNtX3NldF9tYW5hZ2VkX2J1ZmZlcigpIHRob3VnaCB0aGUg cHJlYWxsb2NhdGlvbiBpcwo+IHNraXBwZWQgaW4gdGhpcywgcmlnaHQ/CgpObywgc25kX3BjbV9z ZXRfbWFuYWdlZF9idWZmZXIoKSBpcyB0aGUgbmV3IFBDTSBwcmVhbGxvY2F0aW9uIEFQSS4KVGhl IG9sZCBzbmRfcGNtX2xpYl9wcmVhbGxvY2F0ZSooKSBpcyBhbG1vc3QgZ29uZS4KCj4gPiBhbW91 bnQgb2YgYWxsb2NhdGlvbiBwZXIgY2FyZCwgY29udHJvbGxlZCBpbiBwY21fbWVtb3J5LmMsIGZv cgo+ID4gZXhhbXBsZS4gIFRoaXMgbG9naWMgY2FuIGJlIGFwcGxpZWQgdG8gdGhlIGxlZ2FjeSBI REEsIHRvby4KPiA+Cj4gPiBUaGlzIHNob3VsZCBiZSByZWxhdGl2ZWx5IGVhc3ksIGFuZCBJJ2xs IHByb3ZpZGUgdGhlIHBhdGNoIGluIHRoZSBuZXh0Cj4gPiB3ZWVrLgo+IAo+IE9LLCB0aGF0J3Mg ZmluZSBmb3IgbWUgYWxzbywgdGhhbmsgeW91LgoKQmVsb3cgaXMgYSBxdWljayBoYWNrIGZvciBI REEuICBXZSBzdGlsbCBuZWVkIHRoZSBjZXJ0YWluIGFtb3VudCBvZgpwcmVhbGxvY2F0aW9uIGZv ciBub24teDg2IHN5c3RlbXMgdGhhdCBkb24ndCBzdXBwb3J0IFNHLWJ1ZmZlcnMsIHNvCmEgYml0 IG9mIHRyaWNrIGlzIGFwcGxpZWQgdG8gS2NvbmZpZy4KClRvdGFsbHkgdW50ZXN0ZWQsIGFzIHVz dWFsLgoKCnRoYW5rcywKClRha2FzaGkKCi0tLQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9zb3VuZC9j b3JlLmggYi9pbmNsdWRlL3NvdW5kL2NvcmUuaAppbmRleCAwZTE0YjdhM2U2N2IuLmFjOGI2OTJi NjliNCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9zb3VuZC9jb3JlLmgKKysrIGIvaW5jbHVkZS9zb3Vu ZC9jb3JlLmgKQEAgLTEyMCw2ICsxMjAsOSBAQCBzdHJ1Y3Qgc25kX2NhcmQgewogCWludCBzeW5j X2lycTsJCQkvKiBhc3NpZ25lZCBpcnEsIHVzZWQgZm9yIFBDTSBzeW5jICovCiAJd2FpdF9xdWV1 ZV9oZWFkX3QgcmVtb3ZlX3NsZWVwOwogCisJc2l6ZV90IHRvdGFsX3BjbV9hbGxvY19ieXRlczsJ LyogdG90YWwgYW1vdW50IG9mIGFsbG9jYXRlZCBidWZmZXJzICovCisJc3RydWN0IG11dGV4IG1l bW9yeV9tdXRleDsJLyogcHJvdGVjdGlvbiBmb3IgdGhlIGFib3ZlICovCisKICNpZmRlZiBDT05G SUdfUE0KIAl1bnNpZ25lZCBpbnQgcG93ZXJfc3RhdGU7CS8qIHBvd2VyIHN0YXRlICovCiAJd2Fp dF9xdWV1ZV9oZWFkX3QgcG93ZXJfc2xlZXA7CmRpZmYgLS1naXQgYS9zb3VuZC9jb3JlL2luaXQu YyBiL3NvdW5kL2NvcmUvaW5pdC5jCmluZGV4IGZhYTlmMDNjMDFjYS4uYjAyYTk5NzY2MzUxIDEw MDY0NAotLS0gYS9zb3VuZC9jb3JlL2luaXQuYworKysgYi9zb3VuZC9jb3JlL2luaXQuYwpAQCAt MjExLDYgKzIxMSw3IEBAIGludCBzbmRfY2FyZF9uZXcoc3RydWN0IGRldmljZSAqcGFyZW50LCBp bnQgaWR4LCBjb25zdCBjaGFyICp4aWQsCiAJSU5JVF9MSVNUX0hFQUQoJmNhcmQtPmN0bF9maWxl cyk7CiAJc3Bpbl9sb2NrX2luaXQoJmNhcmQtPmZpbGVzX2xvY2spOwogCUlOSVRfTElTVF9IRUFE KCZjYXJkLT5maWxlc19saXN0KTsKKwltdXRleF9pbml0KCZjYXJkLT5tZW1vcnlfbXV0ZXgpOwog I2lmZGVmIENPTkZJR19QTQogCWluaXRfd2FpdHF1ZXVlX2hlYWQoJmNhcmQtPnBvd2VyX3NsZWVw KTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvc291bmQvY29yZS9wY21fbWVtb3J5LmMgYi9zb3VuZC9j b3JlL3BjbV9tZW1vcnkuYwppbmRleCBkNDcwMmNjMWQzNzYuLjQ4ODNiMGNjZDQ3NSAxMDA2NDQK LS0tIGEvc291bmQvY29yZS9wY21fbWVtb3J5LmMKKysrIGIvc291bmQvY29yZS9wY21fbWVtb3J5 LmMKQEAgLTI3LDYgKzI3LDM3IEBAIE1PRFVMRV9QQVJNX0RFU0MobWF4aW11bV9zdWJzdHJlYW1z LCAiTWF4aW11bSBzdWJzdHJlYW1zIHdpdGggcHJlYWxsb2NhdGVkIERNQSBtCiAKIHN0YXRpYyBj b25zdCBzaXplX3Qgc25kX21pbmltdW1fYnVmZmVyID0gMTYzODQ7CiAKK3N0YXRpYyB1bnNpZ25l ZCBsb25nIG1heF9hbGxvY19wZXJfY2FyZCA9IDMyVUwgKiAxMDI0VUwgKiAxMDI0VUwgKiAxMDI0 VUw7Cittb2R1bGVfcGFyYW0obWF4X2FsbG9jX3Blcl9jYXJkLCB1bG9uZywgMDY0NCk7CitNT0RV TEVfUEFSTV9ERVNDKG1heF9hbGxvY19wZXJfY2FyZCwgIk1heCB0b3RhbCBhbGxvY2F0aW9uIGJ5 dGVzIHBlciBjYXJkLiIpOworCitzdGF0aWMgaW50IGRvX2FsbG9jX3BhZ2VzKHN0cnVjdCBzbmRf Y2FyZCAqY2FyZCwgaW50IHR5cGUsIHN0cnVjdCBkZXZpY2UgKmRldiwKKwkJCSAgc2l6ZV90IHNp emUsIHN0cnVjdCBzbmRfZG1hX2J1ZmZlciAqZG1hYikKK3sKKwlpbnQgZXJyOworCisJaWYgKGNh cmQtPnRvdGFsX3BjbV9hbGxvY19ieXRlcyArIHNpemUgPiBtYXhfYWxsb2NfcGVyX2NhcmQpCisJ CXJldHVybiAtRU5PTUVNOworCWVyciA9IHNuZF9kbWFfYWxsb2NfcGFnZXModHlwZSwgZGV2LCBz aXplLCBkbWFiKTsKKwlpZiAoIWVycikgeworCQltdXRleF9sb2NrKCZjYXJkLT5tZW1vcnlfbXV0 ZXgpOworCQljYXJkLT50b3RhbF9wY21fYWxsb2NfYnl0ZXMgKz0gZG1hYi0+Ynl0ZXM7CisJCW11 dGV4X3VubG9jaygmY2FyZC0+bWVtb3J5X211dGV4KTsKKwl9CisJcmV0dXJuIGVycjsKK30KKwor c3RhdGljIHZvaWQgZG9fZnJlZV9wYWdlcyhzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsIHN0cnVjdCBz bmRfZG1hX2J1ZmZlciAqZG1hYikKK3sKKwlpZiAoIWRtYWItPmFyZWEpCisJCXJldHVybjsKKwlt dXRleF9sb2NrKCZjYXJkLT5tZW1vcnlfbXV0ZXgpOworCVdBUk5fT04oY2FyZC0+dG90YWxfcGNt X2FsbG9jX2J5dGVzIDwgZG1hYi0+Ynl0ZXMpOworCWNhcmQtPnRvdGFsX3BjbV9hbGxvY19ieXRl cyAtPSBkbWFiLT5ieXRlczsKKwltdXRleF91bmxvY2soJmNhcmQtPm1lbW9yeV9tdXRleCk7CisJ c25kX2RtYV9mcmVlX3BhZ2VzKGRtYWIpOworCWRtYWItPmFyZWEgPSBOVUxMOworfQogCiAvKgog ICogdHJ5IHRvIGFsbG9jYXRlIGFzIHRoZSBsYXJnZSBwYWdlcyBhcyBwb3NzaWJsZS4KQEAgLTM3 LDE2ICs2OCwxNSBAQCBzdGF0aWMgY29uc3Qgc2l6ZV90IHNuZF9taW5pbXVtX2J1ZmZlciA9IDE2 Mzg0Owogc3RhdGljIGludCBwcmVhbGxvY2F0ZV9wY21fcGFnZXMoc3RydWN0IHNuZF9wY21fc3Vi c3RyZWFtICpzdWJzdHJlYW0sIHNpemVfdCBzaXplKQogewogCXN0cnVjdCBzbmRfZG1hX2J1ZmZl ciAqZG1hYiA9ICZzdWJzdHJlYW0tPmRtYV9idWZmZXI7CisJc3RydWN0IHNuZF9jYXJkICpjYXJk ID0gc3Vic3RyZWFtLT5wY20tPmNhcmQ7CiAJc2l6ZV90IG9yaWdfc2l6ZSA9IHNpemU7CiAJaW50 IGVycjsKIAogCWRvIHsKLQkJaWYgKChlcnIgPSBzbmRfZG1hX2FsbG9jX3BhZ2VzKGRtYWItPmRl di50eXBlLCBkbWFiLT5kZXYuZGV2LAotCQkJCQkgICAgICAgc2l6ZSwgZG1hYikpIDwgMCkgewot CQkJaWYgKGVyciAhPSAtRU5PTUVNKQotCQkJCXJldHVybiBlcnI7IC8qIGZhdGFsIGVycm9yICov Ci0JCX0gZWxzZQotCQkJcmV0dXJuIDA7CisJCWVyciA9IGRvX2FsbG9jX3BhZ2VzKGNhcmQsIGRt YWItPmRldi50eXBlLCBkbWFiLT5kZXYuZGV2LAorCQkJCSAgICAgc2l6ZSwgZG1hYik7CisJCWlm IChlcnIgIT0gLUVOT01FTSkKKwkJCXJldHVybiBlcnI7CiAJCXNpemUgPj49IDE7CiAJfSB3aGls ZSAoc2l6ZSA+PSBzbmRfbWluaW11bV9idWZmZXIpOwogCWRtYWItPmJ5dGVzID0gMDsgLyogdGVs bCBlcnJvciAqLwpAQCAtNjIsMTAgKzkyLDcgQEAgc3RhdGljIGludCBwcmVhbGxvY2F0ZV9wY21f cGFnZXMoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sIHNpemVfdCBzaXoKICAq Lwogc3RhdGljIHZvaWQgc25kX3BjbV9saWJfcHJlYWxsb2NhdGVfZG1hX2ZyZWUoc3RydWN0IHNu ZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCiB7Ci0JaWYgKHN1YnN0cmVhbS0+ZG1hX2J1ZmZl ci5hcmVhID09IE5VTEwpCi0JCXJldHVybjsKLQlzbmRfZG1hX2ZyZWVfcGFnZXMoJnN1YnN0cmVh bS0+ZG1hX2J1ZmZlcik7Ci0Jc3Vic3RyZWFtLT5kbWFfYnVmZmVyLmFyZWEgPSBOVUxMOworCWRv X2ZyZWVfcGFnZXMoc3Vic3RyZWFtLT5wY20tPmNhcmQsICZzdWJzdHJlYW0tPmRtYV9idWZmZXIp OwogfQogCiAvKioKQEAgLTEzMCw2ICsxNTcsNyBAQCBzdGF0aWMgdm9pZCBzbmRfcGNtX2xpYl9w cmVhbGxvY2F0ZV9wcm9jX3dyaXRlKHN0cnVjdCBzbmRfaW5mb19lbnRyeSAqZW50cnksCiAJCQkJ CSAgICAgICBzdHJ1Y3Qgc25kX2luZm9fYnVmZmVyICpidWZmZXIpCiB7CiAJc3RydWN0IHNuZF9w Y21fc3Vic3RyZWFtICpzdWJzdHJlYW0gPSBlbnRyeS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBz bmRfY2FyZCAqY2FyZCA9IHN1YnN0cmVhbS0+cGNtLT5jYXJkOwogCWNoYXIgbGluZVs2NF0sIHN0 cls2NF07CiAJc2l6ZV90IHNpemU7CiAJc3RydWN0IHNuZF9kbWFfYnVmZmVyIG5ld19kbWFiOwpA QCAtMTUwLDkgKzE3OCwxMCBAQCBzdGF0aWMgdm9pZCBzbmRfcGNtX2xpYl9wcmVhbGxvY2F0ZV9w cm9jX3dyaXRlKHN0cnVjdCBzbmRfaW5mb19lbnRyeSAqZW50cnksCiAJCW1lbXNldCgmbmV3X2Rt YWIsIDAsIHNpemVvZihuZXdfZG1hYikpOwogCQluZXdfZG1hYi5kZXYgPSBzdWJzdHJlYW0tPmRt YV9idWZmZXIuZGV2OwogCQlpZiAoc2l6ZSA+IDApIHsKLQkJCWlmIChzbmRfZG1hX2FsbG9jX3Bh Z2VzKHN1YnN0cmVhbS0+ZG1hX2J1ZmZlci5kZXYudHlwZSwKLQkJCQkJCXN1YnN0cmVhbS0+ZG1h X2J1ZmZlci5kZXYuZGV2LAotCQkJCQkJc2l6ZSwgJm5ld19kbWFiKSA8IDApIHsKKwkJCWlmIChk b19hbGxvY19wYWdlcyhjYXJkLAorCQkJCQkgICBzdWJzdHJlYW0tPmRtYV9idWZmZXIuZGV2LnR5 cGUsCisJCQkJCSAgIHN1YnN0cmVhbS0+ZG1hX2J1ZmZlci5kZXYuZGV2LAorCQkJCQkgICBzaXpl LCAmbmV3X2RtYWIpIDwgMCkgewogCQkJCWJ1ZmZlci0+ZXJyb3IgPSAtRU5PTUVNOwogCQkJCXJl dHVybjsKIAkJCX0KQEAgLTE2MSw3ICsxOTAsNyBAQCBzdGF0aWMgdm9pZCBzbmRfcGNtX2xpYl9w cmVhbGxvY2F0ZV9wcm9jX3dyaXRlKHN0cnVjdCBzbmRfaW5mb19lbnRyeSAqZW50cnksCiAJCQlz dWJzdHJlYW0tPmJ1ZmZlcl9ieXRlc19tYXggPSBVSU5UX01BWDsKIAkJfQogCQlpZiAoc3Vic3Ry ZWFtLT5kbWFfYnVmZmVyLmFyZWEpCi0JCQlzbmRfZG1hX2ZyZWVfcGFnZXMoJnN1YnN0cmVhbS0+ ZG1hX2J1ZmZlcik7CisJCQlkb19mcmVlX3BhZ2VzKGNhcmQsICZzdWJzdHJlYW0tPmRtYV9idWZm ZXIpOwogCQlzdWJzdHJlYW0tPmRtYV9idWZmZXIgPSBuZXdfZG1hYjsKIAl9IGVsc2UgewogCQli dWZmZXItPmVycm9yID0gLUVJTlZBTDsKQEAgLTM0Niw2ICszNzUsNyBAQCBzdHJ1Y3QgcGFnZSAq c25kX3BjbV9zZ2J1Zl9vcHNfcGFnZShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVh bSwgdW5zaWduZQogICovCiBpbnQgc25kX3BjbV9saWJfbWFsbG9jX3BhZ2VzKHN0cnVjdCBzbmRf cGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLCBzaXplX3Qgc2l6ZSkKIHsKKwlzdHJ1Y3Qgc25kX2Nh cmQgKmNhcmQgPSBzdWJzdHJlYW0tPnBjbS0+Y2FyZDsKIAlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1l ICpydW50aW1lOwogCXN0cnVjdCBzbmRfZG1hX2J1ZmZlciAqZG1hYiA9IE5VTEw7CiAKQEAgLTM3 NCw5ICs0MDQsMTAgQEAgaW50IHNuZF9wY21fbGliX21hbGxvY19wYWdlcyhzdHJ1Y3Qgc25kX3Bj bV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwgc2l6ZV90IHNpemUpCiAJCWlmICghIGRtYWIpCiAJCQly ZXR1cm4gLUVOT01FTTsKIAkJZG1hYi0+ZGV2ID0gc3Vic3RyZWFtLT5kbWFfYnVmZmVyLmRldjsK LQkJaWYgKHNuZF9kbWFfYWxsb2NfcGFnZXMoc3Vic3RyZWFtLT5kbWFfYnVmZmVyLmRldi50eXBl LAotCQkJCQlzdWJzdHJlYW0tPmRtYV9idWZmZXIuZGV2LmRldiwKLQkJCQkJc2l6ZSwgZG1hYikg PCAwKSB7CisJCWlmIChkb19hbGxvY19wYWdlcyhjYXJkLAorCQkJCSAgIHN1YnN0cmVhbS0+ZG1h X2J1ZmZlci5kZXYudHlwZSwKKwkJCQkgICBzdWJzdHJlYW0tPmRtYV9idWZmZXIuZGV2LmRldiwK KwkJCQkgICBzaXplLCBkbWFiKSA8IDApIHsKIAkJCWtmcmVlKGRtYWIpOwogCQkJcmV0dXJuIC1F Tk9NRU07CiAJCX0KQEAgLTM5Nyw2ICs0MjgsNyBAQCBFWFBPUlRfU1lNQk9MKHNuZF9wY21fbGli X21hbGxvY19wYWdlcyk7CiAgKi8KIGludCBzbmRfcGNtX2xpYl9mcmVlX3BhZ2VzKHN0cnVjdCBz bmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQogeworCXN0cnVjdCBzbmRfY2FyZCAqY2FyZCA9 IHN1YnN0cmVhbS0+cGNtLT5jYXJkOwogCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWU7 CiAKIAlpZiAoUENNX1JVTlRJTUVfQ0hFQ0soc3Vic3RyZWFtKSkKQEAgLTQwNiw3ICs0MzgsNyBA QCBpbnQgc25kX3BjbV9saWJfZnJlZV9wYWdlcyhzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1 YnN0cmVhbSkKIAkJcmV0dXJuIDA7CiAJaWYgKHJ1bnRpbWUtPmRtYV9idWZmZXJfcCAhPSAmc3Vi c3RyZWFtLT5kbWFfYnVmZmVyKSB7CiAJCS8qIGl0J3MgYSBuZXdseSBhbGxvY2F0ZWQgYnVmZmVy LiAgcmVsZWFzZSBpdCBub3cuICovCi0JCXNuZF9kbWFfZnJlZV9wYWdlcyhydW50aW1lLT5kbWFf YnVmZmVyX3ApOworCQlkb19mcmVlX3BhZ2VzKGNhcmQsIHJ1bnRpbWUtPmRtYV9idWZmZXJfcCk7 CiAJCWtmcmVlKHJ1bnRpbWUtPmRtYV9idWZmZXJfcCk7CiAJfQogCXNuZF9wY21fc2V0X3J1bnRp bWVfYnVmZmVyKHN1YnN0cmVhbSwgTlVMTCk7CmRpZmYgLS1naXQgYS9zb3VuZC9oZGEvS2NvbmZp ZyBiL3NvdW5kL2hkYS9LY29uZmlnCmluZGV4IGIwYzg4ZmUwNDBlZS4uNGNhNmIwOTA1NmYzIDEw MDY0NAotLS0gYS9zb3VuZC9oZGEvS2NvbmZpZworKysgYi9zb3VuZC9oZGEvS2NvbmZpZwpAQCAt MjEsMTQgKzIxLDE2IEBAIGNvbmZpZyBTTkRfSERBX0VYVF9DT1JFCiAgICAgICAgc2VsZWN0IFNO RF9IREFfQ09SRQogCiBjb25maWcgU05EX0hEQV9QUkVBTExPQ19TSVpFCi0JaW50ICJQcmUtYWxs b2NhdGVkIGJ1ZmZlciBzaXplIGZvciBIRC1hdWRpbyBkcml2ZXIiCisJaW50ICJQcmUtYWxsb2Nh dGVkIGJ1ZmZlciBzaXplIGZvciBIRC1hdWRpbyBkcml2ZXIiIGlmICFTTkRfRE1BX1NHQlVGCiAJ cmFuZ2UgMCAzMjc2OAotCWRlZmF1bHQgNjQKKwlkZWZhdWx0IDAgaWYgU05EX0RNQV9TR0JVRgor CWRlZmF1bHQgNjQgaWYgIVNORF9ETUFfU0dCVUYKIAloZWxwCiAJICBTcGVjaWZpZXMgdGhlIGRl ZmF1bHQgcHJlLWFsbG9jYXRlZCBidWZmZXItc2l6ZSBpbiBrQiBmb3IgdGhlCiAJICBIRC1hdWRp byBkcml2ZXIuICBBIGxhcmdlciBidWZmZXIgKGUuZy4gMjA0OCkgaXMgcHJlZmVycmVkCiAJICBm b3Igc3lzdGVtcyB1c2luZyBQdWxzZUF1ZGlvLiAgVGhlIGRlZmF1bHQgNjQgaXMgY2hvc2VuIGp1 c3QKIAkgIGZvciBjb21wYXRpYmlsaXR5IHJlYXNvbnMuCisJICBPbiB4ODYgc3lzdGVtcywgdGhl IGRlZmF1bHQgaXMgemVybyBhcyB3ZSBuZWVkIG5vIHByZWFsbG9jYXRpb24uCiAKIAkgIE5vdGUg dGhhdCB0aGUgcHJlLWFsbG9jYXRpb24gc2l6ZSBjYW4gYmUgY2hhbmdlZCBkeW5hbWljYWxseQog CSAgdmlhIGEgcHJvYyBmaWxlICgvcHJvYy9hc291bmQvY2FyZCovcGNtKi9zdWIqL3ByZWFsbG9j KSwgdG9vLgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB bHNhLWRldmVsIG1haWxpbmcgbGlzdApBbHNhLWRldmVsQGFsc2EtcHJvamVjdC5vcmcKaHR0cHM6 Ly9tYWlsbWFuLmFsc2EtcHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbHNhLWRldmVsCg==