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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D4112C433F5 for ; Fri, 10 Dec 2021 20:12:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:References:Cc:To:From: Subject:MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=a3SgpsOYKFiXyr8xh6wZSmrCfeBNLsp2DM1mIYcirnM=; b=15Kfxc8M2oNcNW WqL+4L+obammudvlPtFfajQh+bga5kYjtMPRRmZhGPnb4A2WiB1U3bjUh3NWuTKewkhJmUhPTJAhC RRq5xYEMs6IMTfdA6Cr1aQxV381Eaqc/yTKSbmOuOHArCKP+/9V+wmsE8TuQHMW5ZwUcW5BEz/v/t nbxLdjuqMJpKq292HJccIhktUW9ddW/jz2bzjPvnzTxkCizL5l0FRPHaB+Mf22+fOhC/WoAtHkd/m jc34uVhLjB6HYGXIDYzlpTHOt7IzP7YO9xEGfmok55cggxbQkkPWdL92Dh44V/6ToIRrhUnrVFU0d wLNdpl3mBCgENL7Q1lbQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mvmDi-003h5U-Kh; Fri, 10 Dec 2021 20:10:18 +0000 Received: from mail-lf1-x130.google.com ([2a00:1450:4864:20::130]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mvmDb-003h3y-QT for linux-arm-kernel@lists.infradead.org; Fri, 10 Dec 2021 20:10:14 +0000 Received: by mail-lf1-x130.google.com with SMTP id m6so8210576lfu.1 for ; Fri, 10 Dec 2021 12:10:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:date:mime-version:user-agent:subject:content-language :from:to:cc:references:in-reply-to:content-transfer-encoding; bh=4G75zrFmP3EOC48QBaJaY3ao+hx7H9EjZviE86tt3PI=; b=BjCEdwj1qCwDxQ/S7QmFVuN0PyNR9aeKk7pCqi7IXsQNR552iCN0EZxryqyUB8W8Id yh5kEAjiB9C8sugSKNWYszBHfeYa0nq04pjYziOkbLQG8UL/I4xoiqXKGV/x7FWtAT72 HaiL5dXfRKprh9Y6sGE5QL3Loh4QLhuunsfitQ5M7m5mknYvKyn0jJL3MM2XfDoVx8Yk NhTv3hIRPAjLa0hU1DXFAaZqFm4bUuuevDQrKyk+et4o9gW9jDHIl1cSGz1av1k3ixdX HFWYr3UWJRIDp8q+SoxNaB/NHBJjDTx7PrO8e4fPirLBcATGBG5dnGjnhDlobTZt3ir9 NRgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:from:to:cc:references:in-reply-to :content-transfer-encoding; bh=4G75zrFmP3EOC48QBaJaY3ao+hx7H9EjZviE86tt3PI=; b=YPmziUxpH2fTOaK2pa0pb/PJBM07v7GrM+IuUACZzyERqPStXXiJGQchk5heY+uwAN pAZNh3aEKbQK+SOkgGyrpJHR0Qkn2KdMxFKsqQgji/+Z1lXR6oDcu+Z8QlYOYXk9WKxI v+SkufBXy2UEAPYk3Abk/9NP/st/zEAk+OhfLB/NaybY684ay95wRVG/K5wy/BoAvtcx CG0Ujqu+7kX6yskyJHi+3RfFGISPIIFqK6Fvq7gT9kuDfKU3Ma9dbA6v7A9d6ek2UCVq iayZXvO1YJVAq7DkfHaeRVn+HZanQO2QglADInqAmejjSUMgTMuKgijoBtGBeBRFeST2 Vmuw== X-Gm-Message-State: AOAM530b9vtmZsA/WkWBhJy1tu+OBTZXZSNLqAZ9RgqSWwf3SgROXjhN ci7dn2CrJ/usqeqKZpXq7mk= X-Google-Smtp-Source: ABdhPJzqG8E2onB/M0lIde9K/PpYK/hD3n2+yOPvNJCOky0h9cpuynfWIriMF4tAMPLGNg7EZlLryQ== X-Received: by 2002:ac2:4564:: with SMTP id k4mr14614572lfm.380.1639167010105; Fri, 10 Dec 2021 12:10:10 -0800 (PST) Received: from [10.0.0.115] (91-153-170-164.elisa-laajakaista.fi. [91.153.170.164]) by smtp.gmail.com with ESMTPSA id h12sm400326lfc.239.2021.12.10.12.10.09 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 10 Dec 2021 12:10:09 -0800 (PST) Message-ID: Date: Fri, 10 Dec 2021 22:10:38 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.2 Subject: Re: [PATCH] dma: ti: k3-udma: Fix smatch warnings Content-Language: en-US From: =?UTF-8?Q?P=c3=a9ter_Ujfalusi?= To: Vignesh Raghavendra , Vinod Koul Cc: dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, Linux ARM Mailing List , Nishanth Menon References: <20211209180957.29036-1-vigneshr@ti.com> <8ae3b70e-3697-2d3f-9a62-378f1a3748d7@gmail.com> In-Reply-To: <8ae3b70e-3697-2d3f-9a62-378f1a3748d7@gmail.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211210_121011_957660_2D11404E X-CRM114-Status: GOOD ( 19.43 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list 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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org CgpPbiAxMC8xMi8yMDIxIDIyOjEwLCBQw6l0ZXIgVWpmYWx1c2kgd3JvdGU6Cj4gCj4gCj4gT24g MDkvMTIvMjAyMSAyMDowOSwgVmlnbmVzaCBSYWdoYXZlbmRyYSB3cm90ZToKPj4gU21hdGNoIHJl cG9ydHMgYmVsb3cgd2FybmluZ3MgWzFdIHdydCBkZXJlZmVyZW5jaW5nIHJtX3JlcyB3aGVuIGl0 IGNhbgo+PiBwb3RlbnRpYWxseSBiZSBFUlJfUFRSKCkuIFRoaXMgaXMgcG9zc2libGUgd2hlbiBl bnRpcmUgcmFuZ2UgaXMKPj4gYWxsb2NhdGVkIHRvIExpbnV4Cj4+IEZpeCB0aGlzIGNhc2UgYnkg bWFraW5nIHN1cmUsIHRoZXJlIGlzIG5vIGRlZmVyZW5jZSBvZiBybV9yZXMgd2hlbiBpdHMKPj4g RVJSX1BUUigpLgo+IAo+IFZhbGlkLCBlYXJseSBzeXNmcyBkaWQgbm90IGhhZCBybSByYW5nZXMs IHRodXMgd2UgYXNzdW1lZCBhbGwgY2hhbm5lbHMKCnMvc3lzZnMvc3lzZncKCgo+IGFyZSBmb3Ig TGludXgsIHRoZW4gd2UgZ290IHN1cHBvcnQgZm9yIG9uZSByYW5nZSBwZXIgY2hhbm5lbCB0eXBl IGFuZAo+IHRoZW4gdGhlIHNldHMgZ290IGludHJvZHVjZWQgZm9yIHN1cHBvcnRpbmcgdGhlIGRp ZmZlcm50IHRocm91Z2hwdXQKPiBsZXZlbHMgb2YgY2hhbm5sZXMgaW4gdGhlIHR5cGVzLgo+IFRo aXMgc3VyZWx5IGdvdCBvdmVybG9va2VkLgo+IAo+IEFja2VkLWJ5OiBQZXRlciBVamZhbHVzaSA8 cGV0ZXIudWpmYWx1c2lAZ21haWwuY29tPgo+IAo+Pgo+PiBbMV06Cj4+ICBkcml2ZXJzL2RtYS90 aS9rMy11ZG1hLmM6NDUyNCB1ZG1hX3NldHVwX3Jlc291cmNlcygpIGVycm9yOiAncm1fcmVzJyBk ZXJlZmVyZW5jaW5nIHBvc3NpYmxlIEVSUl9QVFIoKQo+PiAgZHJpdmVycy9kbWEvdGkvazMtdWRt YS5jOjQ1MzcgdWRtYV9zZXR1cF9yZXNvdXJjZXMoKSBlcnJvcjogJ3JtX3JlcycgZGVyZWZlcmVu Y2luZyBwb3NzaWJsZSBFUlJfUFRSKCkKPj4gIGRyaXZlcnMvZG1hL3RpL2szLXVkbWEuYzo0Njgx IGJjZG1hX3NldHVwX3Jlc291cmNlcygpIGVycm9yOiAncm1fcmVzJyBkZXJlZmVyZW5jaW5nIHBv c3NpYmxlIEVSUl9QVFIoKQo+PiAgZHJpdmVycy9kbWEvdGkvazMtdWRtYS5jOjQ2OTYgYmNkbWFf c2V0dXBfcmVzb3VyY2VzKCkgZXJyb3I6ICdybV9yZXMnIGRlcmVmZXJlbmNpbmcgcG9zc2libGUg RVJSX1BUUigpCj4+ICBkcml2ZXJzL2RtYS90aS9rMy11ZG1hLmM6NDcxMSBiY2RtYV9zZXR1cF9y ZXNvdXJjZXMoKSBlcnJvcjogJ3JtX3JlcycgZGVyZWZlcmVuY2luZyBwb3NzaWJsZSBFUlJfUFRS KCkKPj4gIGRyaXZlcnMvZG1hL3RpL2szLXVkbWEuYzo0ODQ4IHBrdGRtYV9zZXR1cF9yZXNvdXJj ZXMoKSBlcnJvcjogJ3JtX3JlcycgZGVyZWZlcmVuY2luZyBwb3NzaWJsZSBFUlJfUFRSKCkKPj4g IGRyaXZlcnMvZG1hL3RpL2szLXVkbWEuYzo0ODYxIHBrdGRtYV9zZXR1cF9yZXNvdXJjZXMoKSBl cnJvcjogJ3JtX3JlcycgZGVyZWZlcmVuY2luZyBwb3NzaWJsZSBFUlJfUFRSKCkKPj4KPj4gUmVw b3J0ZWQtYnk6IE5pc2hhbnRoIE1lbm9uIDxubUB0aS5jb20+Cj4+IFNpZ25lZC1vZmYtYnk6IFZp Z25lc2ggUmFnaGF2ZW5kcmEgPHZpZ25lc2hyQHRpLmNvbT4KPj4gLS0tCj4+ICBkcml2ZXJzL2Rt YS90aS9rMy11ZG1hLmMgfCAxNTcgKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0t LS0tCj4+ICAxIGZpbGUgY2hhbmdlZCwgMTA3IGluc2VydGlvbnMoKyksIDUwIGRlbGV0aW9ucygt KQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9kbWEvdGkvazMtdWRtYS5jIGIvZHJpdmVycy9k bWEvdGkvazMtdWRtYS5jCj4+IGluZGV4IDA0MWQ4ZTMyZDYzMC4uNmU1NmQxY2VmNWVlIDEwMDY0 NAo+PiAtLS0gYS9kcml2ZXJzL2RtYS90aS9rMy11ZG1hLmMKPj4gKysrIGIvZHJpdmVycy9kbWEv dGkvazMtdWRtYS5jCj4+IEBAIC00NTM0LDQ1ICs0NTM0LDYwIEBAIHN0YXRpYyBpbnQgdWRtYV9z ZXR1cF9yZXNvdXJjZXMoc3RydWN0IHVkbWFfZGV2ICp1ZCkKPj4gIAlybV9yZXMgPSB0aXNjaV9y bS0+cm1fcmFuZ2VzW1JNX1JBTkdFX1RDSEFOXTsKPj4gIAlpZiAoSVNfRVJSKHJtX3JlcykpIHsK Pj4gIAkJYml0bWFwX3plcm8odWQtPnRjaGFuX21hcCwgdWQtPnRjaGFuX2NudCk7Cj4+ICsJCWly cV9yZXMuc2V0cyA9IDE7Cj4+ICAJfSBlbHNlIHsKPj4gIAkJYml0bWFwX2ZpbGwodWQtPnRjaGFu X21hcCwgdWQtPnRjaGFuX2NudCk7Cj4+ICAJCWZvciAoaSA9IDA7IGkgPCBybV9yZXMtPnNldHM7 IGkrKykKPj4gIAkJCXVkbWFfbWFya19yZXNvdXJjZV9yYW5nZXModWQsIHVkLT50Y2hhbl9tYXAs Cj4+ICAJCQkJCQkgICZybV9yZXMtPmRlc2NbaV0sICJ0Y2hhbiIpOwo+PiArCQlpcnFfcmVzLnNl dHMgPSBybV9yZXMtPnNldHM7Cj4+ICAJfQo+PiAtCWlycV9yZXMuc2V0cyA9IHJtX3Jlcy0+c2V0 czsKPj4gIAo+PiAgCS8qIHJjaGFuIGFuZCBtYXRjaGluZyBkZWZhdWx0IGZsb3cgcmFuZ2VzICov Cj4+ICAJcm1fcmVzID0gdGlzY2lfcm0tPnJtX3Jhbmdlc1tSTV9SQU5HRV9SQ0hBTl07Cj4+ICAJ aWYgKElTX0VSUihybV9yZXMpKSB7Cj4+ICAJCWJpdG1hcF96ZXJvKHVkLT5yY2hhbl9tYXAsIHVk LT5yY2hhbl9jbnQpOwo+PiArCQlpcnFfcmVzLnNldHMrKzsKPj4gIAl9IGVsc2Ugewo+PiAgCQli aXRtYXBfZmlsbCh1ZC0+cmNoYW5fbWFwLCB1ZC0+cmNoYW5fY250KTsKPj4gIAkJZm9yIChpID0g MDsgaSA8IHJtX3Jlcy0+c2V0czsgaSsrKQo+PiAgCQkJdWRtYV9tYXJrX3Jlc291cmNlX3Jhbmdl cyh1ZCwgdWQtPnJjaGFuX21hcCwKPj4gIAkJCQkJCSAgJnJtX3Jlcy0+ZGVzY1tpXSwgInJjaGFu Iik7Cj4+ICsJCWlycV9yZXMuc2V0cyArPSBybV9yZXMtPnNldHM7Cj4+ICAJfQo+PiAgCj4+IC0J aXJxX3Jlcy5zZXRzICs9IHJtX3Jlcy0+c2V0czsKPj4gIAlpcnFfcmVzLmRlc2MgPSBrY2FsbG9j KGlycV9yZXMuc2V0cywgc2l6ZW9mKCppcnFfcmVzLmRlc2MpLCBHRlBfS0VSTkVMKTsKPj4gKwlp ZiAoIWlycV9yZXMuZGVzYykKPj4gKwkJcmV0dXJuIC1FTk9NRU07Cj4+ICAJcm1fcmVzID0gdGlz Y2lfcm0tPnJtX3Jhbmdlc1tSTV9SQU5HRV9UQ0hBTl07Cj4+IC0JZm9yIChpID0gMDsgaSA8IHJt X3Jlcy0+c2V0czsgaSsrKSB7Cj4+IC0JCWlycV9yZXMuZGVzY1tpXS5zdGFydCA9IHJtX3Jlcy0+ ZGVzY1tpXS5zdGFydDsKPj4gLQkJaXJxX3Jlcy5kZXNjW2ldLm51bSA9IHJtX3Jlcy0+ZGVzY1tp XS5udW07Cj4+IC0JCWlycV9yZXMuZGVzY1tpXS5zdGFydF9zZWMgPSBybV9yZXMtPmRlc2NbaV0u c3RhcnRfc2VjOwo+PiAtCQlpcnFfcmVzLmRlc2NbaV0ubnVtX3NlYyA9IHJtX3Jlcy0+ZGVzY1tp XS5udW1fc2VjOwo+PiArCWlmIChJU19FUlIocm1fcmVzKSkgewo+PiArCQlpcnFfcmVzLmRlc2Nb MF0uc3RhcnQgPSAwOwo+PiArCQlpcnFfcmVzLmRlc2NbMF0ubnVtID0gdWQtPnRjaGFuX2NudDsK Pj4gKwkJaSA9IDE7Cj4+ICsJfSBlbHNlIHsKPj4gKwkJZm9yIChpID0gMDsgaSA8IHJtX3Jlcy0+ c2V0czsgaSsrKSB7Cj4+ICsJCQlpcnFfcmVzLmRlc2NbaV0uc3RhcnQgPSBybV9yZXMtPmRlc2Nb aV0uc3RhcnQ7Cj4+ICsJCQlpcnFfcmVzLmRlc2NbaV0ubnVtID0gcm1fcmVzLT5kZXNjW2ldLm51 bTsKPj4gKwkJCWlycV9yZXMuZGVzY1tpXS5zdGFydF9zZWMgPSBybV9yZXMtPmRlc2NbaV0uc3Rh cnRfc2VjOwo+PiArCQkJaXJxX3Jlcy5kZXNjW2ldLm51bV9zZWMgPSBybV9yZXMtPmRlc2NbaV0u bnVtX3NlYzsKPj4gKwkJfQo+PiAgCX0KPj4gIAlybV9yZXMgPSB0aXNjaV9ybS0+cm1fcmFuZ2Vz W1JNX1JBTkdFX1JDSEFOXTsKPj4gLQlmb3IgKGogPSAwOyBqIDwgcm1fcmVzLT5zZXRzOyBqKyss IGkrKykgewo+PiAtCQlpZiAocm1fcmVzLT5kZXNjW2pdLm51bSkgewo+PiAtCQkJaXJxX3Jlcy5k ZXNjW2ldLnN0YXJ0ID0gcm1fcmVzLT5kZXNjW2pdLnN0YXJ0ICsKPj4gLQkJCQkJdWQtPnNvY19k YXRhLT5vZXMudWRtYV9yY2hhbjsKPj4gLQkJCWlycV9yZXMuZGVzY1tpXS5udW0gPSBybV9yZXMt PmRlc2Nbal0ubnVtOwo+PiAtCQl9Cj4+IC0JCWlmIChybV9yZXMtPmRlc2Nbal0ubnVtX3NlYykg ewo+PiAtCQkJaXJxX3Jlcy5kZXNjW2ldLnN0YXJ0X3NlYyA9IHJtX3Jlcy0+ZGVzY1tqXS5zdGFy dF9zZWMgKwo+PiAtCQkJCQl1ZC0+c29jX2RhdGEtPm9lcy51ZG1hX3JjaGFuOwo+PiAtCQkJaXJx X3Jlcy5kZXNjW2ldLm51bV9zZWMgPSBybV9yZXMtPmRlc2Nbal0ubnVtX3NlYzsKPj4gKwlpZiAo SVNfRVJSKHJtX3JlcykpIHsKPj4gKwkJaXJxX3Jlcy5kZXNjW2ldLnN0YXJ0ID0gMDsKPj4gKwkJ aXJxX3Jlcy5kZXNjW2ldLm51bSA9IHVkLT5yY2hhbl9jbnQ7Cj4+ICsJfSBlbHNlIHsKPj4gKwkJ Zm9yIChqID0gMDsgaiA8IHJtX3Jlcy0+c2V0czsgaisrLCBpKyspIHsKPj4gKwkJCWlmIChybV9y ZXMtPmRlc2Nbal0ubnVtKSB7Cj4+ICsJCQkJaXJxX3Jlcy5kZXNjW2ldLnN0YXJ0ID0gcm1fcmVz LT5kZXNjW2pdLnN0YXJ0ICsKPj4gKwkJCQkJCXVkLT5zb2NfZGF0YS0+b2VzLnVkbWFfcmNoYW47 Cj4+ICsJCQkJaXJxX3Jlcy5kZXNjW2ldLm51bSA9IHJtX3Jlcy0+ZGVzY1tqXS5udW07Cj4+ICsJ CQl9Cj4+ICsJCQlpZiAocm1fcmVzLT5kZXNjW2pdLm51bV9zZWMpIHsKPj4gKwkJCQlpcnFfcmVz LmRlc2NbaV0uc3RhcnRfc2VjID0gcm1fcmVzLT5kZXNjW2pdLnN0YXJ0X3NlYyArCj4+ICsJCQkJ CQl1ZC0+c29jX2RhdGEtPm9lcy51ZG1hX3JjaGFuOwo+PiArCQkJCWlycV9yZXMuZGVzY1tpXS5u dW1fc2VjID0gcm1fcmVzLT5kZXNjW2pdLm51bV9zZWM7Cj4+ICsJCQl9Cj4+ICAJCX0KPj4gIAl9 Cj4+ICAJcmV0ID0gdGlfc2NpX2ludGFfbXNpX2RvbWFpbl9hbGxvY19pcnFzKHVkLT5kZXYsICZp cnFfcmVzKTsKPj4gQEAgLTQ2OTAsMTQgKzQ3MDUsMTUgQEAgc3RhdGljIGludCBiY2RtYV9zZXR1 cF9yZXNvdXJjZXMoc3RydWN0IHVkbWFfZGV2ICp1ZCkKPj4gIAkJcm1fcmVzID0gdGlzY2lfcm0t PnJtX3Jhbmdlc1tSTV9SQU5HRV9CQ0hBTl07Cj4+ICAJCWlmIChJU19FUlIocm1fcmVzKSkgewo+ PiAgCQkJYml0bWFwX3plcm8odWQtPmJjaGFuX21hcCwgdWQtPmJjaGFuX2NudCk7Cj4+ICsJCQlp cnFfcmVzLnNldHMrKzsKPj4gIAkJfSBlbHNlIHsKPj4gIAkJCWJpdG1hcF9maWxsKHVkLT5iY2hh bl9tYXAsIHVkLT5iY2hhbl9jbnQpOwo+PiAgCQkJZm9yIChpID0gMDsgaSA8IHJtX3Jlcy0+c2V0 czsgaSsrKQo+PiAgCQkJCXVkbWFfbWFya19yZXNvdXJjZV9yYW5nZXModWQsIHVkLT5iY2hhbl9t YXAsCj4+ICAJCQkJCQkJICAmcm1fcmVzLT5kZXNjW2ldLAo+PiAgCQkJCQkJCSAgImJjaGFuIik7 Cj4+ICsJCQlpcnFfcmVzLnNldHMgKz0gcm1fcmVzLT5zZXRzOwo+PiAgCQl9Cj4+IC0JCWlycV9y ZXMuc2V0cyArPSBybV9yZXMtPnNldHM7Cj4+ICAJfQo+PiAgCj4+ICAJLyogdGNoYW4gcmFuZ2Vz ICovCj4+IEBAIC00NzA1LDE0ICs0NzIxLDE1IEBAIHN0YXRpYyBpbnQgYmNkbWFfc2V0dXBfcmVz b3VyY2VzKHN0cnVjdCB1ZG1hX2RldiAqdWQpCj4+ICAJCXJtX3JlcyA9IHRpc2NpX3JtLT5ybV9y YW5nZXNbUk1fUkFOR0VfVENIQU5dOwo+PiAgCQlpZiAoSVNfRVJSKHJtX3JlcykpIHsKPj4gIAkJ CWJpdG1hcF96ZXJvKHVkLT50Y2hhbl9tYXAsIHVkLT50Y2hhbl9jbnQpOwo+PiArCQkJaXJxX3Jl cy5zZXRzICs9IDI7Cj4+ICAJCX0gZWxzZSB7Cj4+ICAJCQliaXRtYXBfZmlsbCh1ZC0+dGNoYW5f bWFwLCB1ZC0+dGNoYW5fY250KTsKPj4gIAkJCWZvciAoaSA9IDA7IGkgPCBybV9yZXMtPnNldHM7 IGkrKykKPj4gIAkJCQl1ZG1hX21hcmtfcmVzb3VyY2VfcmFuZ2VzKHVkLCB1ZC0+dGNoYW5fbWFw LAo+PiAgCQkJCQkJCSAgJnJtX3Jlcy0+ZGVzY1tpXSwKPj4gIAkJCQkJCQkgICJ0Y2hhbiIpOwo+ PiArCQkJaXJxX3Jlcy5zZXRzICs9IHJtX3Jlcy0+c2V0cyAqIDI7Cj4+ICAJCX0KPj4gLQkJaXJx X3Jlcy5zZXRzICs9IHJtX3Jlcy0+c2V0cyAqIDI7Cj4+ICAJfQo+PiAgCj4+ICAJLyogcmNoYW4g cmFuZ2VzICovCj4+IEBAIC00NzIwLDQ3ICs0NzM3LDcyIEBAIHN0YXRpYyBpbnQgYmNkbWFfc2V0 dXBfcmVzb3VyY2VzKHN0cnVjdCB1ZG1hX2RldiAqdWQpCj4+ICAJCXJtX3JlcyA9IHRpc2NpX3Jt LT5ybV9yYW5nZXNbUk1fUkFOR0VfUkNIQU5dOwo+PiAgCQlpZiAoSVNfRVJSKHJtX3JlcykpIHsK Pj4gIAkJCWJpdG1hcF96ZXJvKHVkLT5yY2hhbl9tYXAsIHVkLT5yY2hhbl9jbnQpOwo+PiArCQkJ aXJxX3Jlcy5zZXRzICs9IDI7Cj4+ICAJCX0gZWxzZSB7Cj4+ICAJCQliaXRtYXBfZmlsbCh1ZC0+ cmNoYW5fbWFwLCB1ZC0+cmNoYW5fY250KTsKPj4gIAkJCWZvciAoaSA9IDA7IGkgPCBybV9yZXMt PnNldHM7IGkrKykKPj4gIAkJCQl1ZG1hX21hcmtfcmVzb3VyY2VfcmFuZ2VzKHVkLCB1ZC0+cmNo YW5fbWFwLAo+PiAgCQkJCQkJCSAgJnJtX3Jlcy0+ZGVzY1tpXSwKPj4gIAkJCQkJCQkgICJyY2hh biIpOwo+PiArCQkJaXJxX3Jlcy5zZXRzICs9IHJtX3Jlcy0+c2V0cyAqIDI7Cj4+ICAJCX0KPj4g LQkJaXJxX3Jlcy5zZXRzICs9IHJtX3Jlcy0+c2V0cyAqIDI7Cj4+ICAJfQo+PiAgCj4+ICAJaXJx X3Jlcy5kZXNjID0ga2NhbGxvYyhpcnFfcmVzLnNldHMsIHNpemVvZigqaXJxX3Jlcy5kZXNjKSwg R0ZQX0tFUk5FTCk7Cj4+ICsJaWYgKCFpcnFfcmVzLmRlc2MpCj4+ICsJCXJldHVybiAtRU5PTUVN Owo+PiAgCWlmICh1ZC0+YmNoYW5fY250KSB7Cj4+ICAJCXJtX3JlcyA9IHRpc2NpX3JtLT5ybV9y YW5nZXNbUk1fUkFOR0VfQkNIQU5dOwo+PiAtCQlmb3IgKGkgPSAwOyBpIDwgcm1fcmVzLT5zZXRz OyBpKyspIHsKPj4gLQkJCWlycV9yZXMuZGVzY1tpXS5zdGFydCA9IHJtX3Jlcy0+ZGVzY1tpXS5z dGFydCArCj4+IC0JCQkJCQlvZXMtPmJjZG1hX2JjaGFuX3Jpbmc7Cj4+IC0JCQlpcnFfcmVzLmRl c2NbaV0ubnVtID0gcm1fcmVzLT5kZXNjW2ldLm51bTsKPj4gKwkJaWYgKElTX0VSUihybV9yZXMp KSB7Cj4+ICsJCQlpcnFfcmVzLmRlc2NbMF0uc3RhcnQgPSBvZXMtPmJjZG1hX2JjaGFuX3Jpbmc7 Cj4+ICsJCQlpcnFfcmVzLmRlc2NbMF0ubnVtID0gdWQtPmJjaGFuX2NudDsKPj4gKwkJCWkgPSAx Owo+PiArCQl9IGVsc2Ugewo+PiArCQkJZm9yIChpID0gMDsgaSA8IHJtX3Jlcy0+c2V0czsgaSsr KSB7Cj4+ICsJCQkJaXJxX3Jlcy5kZXNjW2ldLnN0YXJ0ID0gcm1fcmVzLT5kZXNjW2ldLnN0YXJ0 ICsKPj4gKwkJCQkJCQlvZXMtPmJjZG1hX2JjaGFuX3Jpbmc7Cj4+ICsJCQkJaXJxX3Jlcy5kZXNj W2ldLm51bSA9IHJtX3Jlcy0+ZGVzY1tpXS5udW07Cj4+ICsJCQl9Cj4+ICAJCX0KPj4gIAl9Cj4+ ICAJaWYgKHVkLT50Y2hhbl9jbnQpIHsKPj4gIAkJcm1fcmVzID0gdGlzY2lfcm0tPnJtX3Jhbmdl c1tSTV9SQU5HRV9UQ0hBTl07Cj4+IC0JCWZvciAoaiA9IDA7IGogPCBybV9yZXMtPnNldHM7IGor KywgaSArPSAyKSB7Cj4+IC0JCQlpcnFfcmVzLmRlc2NbaV0uc3RhcnQgPSBybV9yZXMtPmRlc2Nb al0uc3RhcnQgKwo+PiAtCQkJCQkJb2VzLT5iY2RtYV90Y2hhbl9kYXRhOwo+PiAtCQkJaXJxX3Jl cy5kZXNjW2ldLm51bSA9IHJtX3Jlcy0+ZGVzY1tqXS5udW07Cj4+IC0KPj4gLQkJCWlycV9yZXMu ZGVzY1tpICsgMV0uc3RhcnQgPSBybV9yZXMtPmRlc2Nbal0uc3RhcnQgKwo+PiAtCQkJCQkJb2Vz LT5iY2RtYV90Y2hhbl9yaW5nOwo+PiAtCQkJaXJxX3Jlcy5kZXNjW2kgKyAxXS5udW0gPSBybV9y ZXMtPmRlc2Nbal0ubnVtOwo+PiArCQlpZiAoSVNfRVJSKHJtX3JlcykpIHsKPj4gKwkJCWlycV9y ZXMuZGVzY1tpXS5zdGFydCA9IG9lcy0+YmNkbWFfdGNoYW5fZGF0YTsKPj4gKwkJCWlycV9yZXMu ZGVzY1tpXS5udW0gPSB1ZC0+dGNoYW5fY250Owo+PiArCQkJaXJxX3Jlcy5kZXNjW2kgKyAxXS5z dGFydCA9IG9lcy0+YmNkbWFfdGNoYW5fcmluZzsKPj4gKwkJCWlycV9yZXMuZGVzY1tpICsgMV0u bnVtID0gdWQtPnRjaGFuX2NudDsKPj4gKwkJCWkgKz0gMjsKPj4gKwkJfSBlbHNlIHsKPj4gKwkJ CWZvciAoaiA9IDA7IGogPCBybV9yZXMtPnNldHM7IGorKywgaSArPSAyKSB7Cj4+ICsJCQkJaXJx X3Jlcy5kZXNjW2ldLnN0YXJ0ID0gcm1fcmVzLT5kZXNjW2pdLnN0YXJ0ICsKPj4gKwkJCQkJCQlv ZXMtPmJjZG1hX3RjaGFuX2RhdGE7Cj4+ICsJCQkJaXJxX3Jlcy5kZXNjW2ldLm51bSA9IHJtX3Jl cy0+ZGVzY1tqXS5udW07Cj4+ICsKPj4gKwkJCQlpcnFfcmVzLmRlc2NbaSArIDFdLnN0YXJ0ID0g cm1fcmVzLT5kZXNjW2pdLnN0YXJ0ICsKPj4gKwkJCQkJCQlvZXMtPmJjZG1hX3RjaGFuX3Jpbmc7 Cj4+ICsJCQkJaXJxX3Jlcy5kZXNjW2kgKyAxXS5udW0gPSBybV9yZXMtPmRlc2Nbal0ubnVtOwo+ PiArCQkJfQo+PiAgCQl9Cj4+ICAJfQo+PiAgCWlmICh1ZC0+cmNoYW5fY250KSB7Cj4+ICAJCXJt X3JlcyA9IHRpc2NpX3JtLT5ybV9yYW5nZXNbUk1fUkFOR0VfUkNIQU5dOwo+PiAtCQlmb3IgKGog PSAwOyBqIDwgcm1fcmVzLT5zZXRzOyBqKyssIGkgKz0gMikgewo+PiAtCQkJaXJxX3Jlcy5kZXNj W2ldLnN0YXJ0ID0gcm1fcmVzLT5kZXNjW2pdLnN0YXJ0ICsKPj4gLQkJCQkJCW9lcy0+YmNkbWFf cmNoYW5fZGF0YTsKPj4gLQkJCWlycV9yZXMuZGVzY1tpXS5udW0gPSBybV9yZXMtPmRlc2Nbal0u bnVtOwo+PiAtCj4+IC0JCQlpcnFfcmVzLmRlc2NbaSArIDFdLnN0YXJ0ID0gcm1fcmVzLT5kZXNj W2pdLnN0YXJ0ICsKPj4gLQkJCQkJCW9lcy0+YmNkbWFfcmNoYW5fcmluZzsKPj4gLQkJCWlycV9y ZXMuZGVzY1tpICsgMV0ubnVtID0gcm1fcmVzLT5kZXNjW2pdLm51bTsKPj4gKwkJaWYgKElTX0VS UihybV9yZXMpKSB7Cj4+ICsJCQlpcnFfcmVzLmRlc2NbaV0uc3RhcnQgPSBvZXMtPmJjZG1hX3Jj aGFuX2RhdGE7Cj4+ICsJCQlpcnFfcmVzLmRlc2NbaV0ubnVtID0gdWQtPnJjaGFuX2NudDsKPj4g KwkJCWlycV9yZXMuZGVzY1tpICsgMV0uc3RhcnQgPSBvZXMtPmJjZG1hX3JjaGFuX3Jpbmc7Cj4+ ICsJCQlpcnFfcmVzLmRlc2NbaSArIDFdLm51bSA9IHVkLT5yY2hhbl9jbnQ7Cj4+ICsJCQlpICs9 IDI7Cj4+ICsJCX0gZWxzZSB7Cj4+ICsJCQlmb3IgKGogPSAwOyBqIDwgcm1fcmVzLT5zZXRzOyBq KyssIGkgKz0gMikgewo+PiArCQkJCWlycV9yZXMuZGVzY1tpXS5zdGFydCA9IHJtX3Jlcy0+ZGVz Y1tqXS5zdGFydCArCj4+ICsJCQkJCQkJb2VzLT5iY2RtYV9yY2hhbl9kYXRhOwo+PiArCQkJCWly cV9yZXMuZGVzY1tpXS5udW0gPSBybV9yZXMtPmRlc2Nbal0ubnVtOwo+PiArCj4+ICsJCQkJaXJx X3Jlcy5kZXNjW2kgKyAxXS5zdGFydCA9IHJtX3Jlcy0+ZGVzY1tqXS5zdGFydCArCj4+ICsJCQkJ CQkJb2VzLT5iY2RtYV9yY2hhbl9yaW5nOwo+PiArCQkJCWlycV9yZXMuZGVzY1tpICsgMV0ubnVt ID0gcm1fcmVzLT5kZXNjW2pdLm51bTsKPj4gKwkJCX0KPj4gIAkJfQo+PiAgCX0KPj4gIAo+PiBA QCAtNDg1OCwzOSArNDkwMCw1NCBAQCBzdGF0aWMgaW50IHBrdGRtYV9zZXR1cF9yZXNvdXJjZXMo c3RydWN0IHVkbWFfZGV2ICp1ZCkKPj4gIAlpZiAoSVNfRVJSKHJtX3JlcykpIHsKPj4gIAkJLyog YWxsIHJmbG93cyBhcmUgYXNzaWduZWQgZXhjbHVzaXZlbHkgdG8gTGludXggKi8KPj4gIAkJYml0 bWFwX3plcm8odWQtPnJmbG93X2luX3VzZSwgdWQtPnJmbG93X2NudCk7Cj4+ICsJCWlycV9yZXMu c2V0cyA9IDE7Cj4+ICAJfSBlbHNlIHsKPj4gIAkJYml0bWFwX2ZpbGwodWQtPnJmbG93X2luX3Vz ZSwgdWQtPnJmbG93X2NudCk7Cj4+ICAJCWZvciAoaSA9IDA7IGkgPCBybV9yZXMtPnNldHM7IGkr KykKPj4gIAkJCXVkbWFfbWFya19yZXNvdXJjZV9yYW5nZXModWQsIHVkLT5yZmxvd19pbl91c2Us Cj4+ICAJCQkJCQkgICZybV9yZXMtPmRlc2NbaV0sICJyZmxvdyIpOwo+PiArCQlpcnFfcmVzLnNl dHMgPSBybV9yZXMtPnNldHM7Cj4+ICAJfQo+PiAtCWlycV9yZXMuc2V0cyA9IHJtX3Jlcy0+c2V0 czsKPj4gIAo+PiAgCS8qIHRmbG93IHJhbmdlcyAqLwo+PiAgCXJtX3JlcyA9IHRpc2NpX3JtLT5y bV9yYW5nZXNbUk1fUkFOR0VfVEZMT1ddOwo+PiAgCWlmIChJU19FUlIocm1fcmVzKSkgewo+PiAg CQkvKiBhbGwgdGZsb3dzIGFyZSBhc3NpZ25lZCBleGNsdXNpdmVseSB0byBMaW51eCAqLwo+PiAg CQliaXRtYXBfemVybyh1ZC0+dGZsb3dfbWFwLCB1ZC0+dGZsb3dfY250KTsKPj4gKwkJaXJxX3Jl cy5zZXRzKys7Cj4+ICAJfSBlbHNlIHsKPj4gIAkJYml0bWFwX2ZpbGwodWQtPnRmbG93X21hcCwg dWQtPnRmbG93X2NudCk7Cj4+ICAJCWZvciAoaSA9IDA7IGkgPCBybV9yZXMtPnNldHM7IGkrKykK Pj4gIAkJCXVkbWFfbWFya19yZXNvdXJjZV9yYW5nZXModWQsIHVkLT50Zmxvd19tYXAsCj4+ICAJ CQkJCQkgICZybV9yZXMtPmRlc2NbaV0sICJ0ZmxvdyIpOwo+PiArCQlpcnFfcmVzLnNldHMgKz0g cm1fcmVzLT5zZXRzOwo+PiAgCX0KPj4gLQlpcnFfcmVzLnNldHMgKz0gcm1fcmVzLT5zZXRzOwo+ PiAgCj4+ICAJaXJxX3Jlcy5kZXNjID0ga2NhbGxvYyhpcnFfcmVzLnNldHMsIHNpemVvZigqaXJx X3Jlcy5kZXNjKSwgR0ZQX0tFUk5FTCk7Cj4+ICsJaWYgKCFpcnFfcmVzLmRlc2MpCj4+ICsJCXJl dHVybiAtRU5PTUVNOwo+PiAgCXJtX3JlcyA9IHRpc2NpX3JtLT5ybV9yYW5nZXNbUk1fUkFOR0Vf VEZMT1ddOwo+PiAtCWZvciAoaSA9IDA7IGkgPCBybV9yZXMtPnNldHM7IGkrKykgewo+PiAtCQlp cnFfcmVzLmRlc2NbaV0uc3RhcnQgPSBybV9yZXMtPmRlc2NbaV0uc3RhcnQgKwo+PiAtCQkJCQlv ZXMtPnBrdGRtYV90Y2hhbl9mbG93Owo+PiAtCQlpcnFfcmVzLmRlc2NbaV0ubnVtID0gcm1fcmVz LT5kZXNjW2ldLm51bTsKPj4gKwlpZiAoSVNfRVJSKHJtX3JlcykpIHsKPj4gKwkJaXJxX3Jlcy5k ZXNjWzBdLnN0YXJ0ID0gb2VzLT5wa3RkbWFfdGNoYW5fZmxvdzsKPj4gKwkJaXJxX3Jlcy5kZXNj WzBdLm51bSA9IHVkLT50Zmxvd19jbnQ7Cj4+ICsJCWkgPSAxOwo+PiArCX0gZWxzZSB7Cj4+ICsJ CWZvciAoaSA9IDA7IGkgPCBybV9yZXMtPnNldHM7IGkrKykgewo+PiArCQkJaXJxX3Jlcy5kZXNj W2ldLnN0YXJ0ID0gcm1fcmVzLT5kZXNjW2ldLnN0YXJ0ICsKPj4gKwkJCQkJCW9lcy0+cGt0ZG1h X3RjaGFuX2Zsb3c7Cj4+ICsJCQlpcnFfcmVzLmRlc2NbaV0ubnVtID0gcm1fcmVzLT5kZXNjW2ld Lm51bTsKPj4gKwkJfQo+PiAgCX0KPj4gIAlybV9yZXMgPSB0aXNjaV9ybS0+cm1fcmFuZ2VzW1JN X1JBTkdFX1JGTE9XXTsKPj4gLQlmb3IgKGogPSAwOyBqIDwgcm1fcmVzLT5zZXRzOyBqKyssIGkr Kykgewo+PiAtCQlpcnFfcmVzLmRlc2NbaV0uc3RhcnQgPSBybV9yZXMtPmRlc2Nbal0uc3RhcnQg Kwo+PiAtCQkJCQlvZXMtPnBrdGRtYV9yY2hhbl9mbG93Owo+PiAtCQlpcnFfcmVzLmRlc2NbaV0u bnVtID0gcm1fcmVzLT5kZXNjW2pdLm51bTsKPj4gKwlpZiAoSVNfRVJSKHJtX3JlcykpIHsKPj4g KwkJaXJxX3Jlcy5kZXNjW2ldLnN0YXJ0ID0gb2VzLT5wa3RkbWFfcmNoYW5fZmxvdzsKPj4gKwkJ aXJxX3Jlcy5kZXNjW2ldLm51bSA9IHVkLT5yZmxvd19jbnQ7Cj4+ICsJfSBlbHNlIHsKPj4gKwkJ Zm9yIChqID0gMDsgaiA8IHJtX3Jlcy0+c2V0czsgaisrLCBpKyspIHsKPj4gKwkJCWlycV9yZXMu ZGVzY1tpXS5zdGFydCA9IHJtX3Jlcy0+ZGVzY1tqXS5zdGFydCArCj4+ICsJCQkJCQlvZXMtPnBr dGRtYV9yY2hhbl9mbG93Owo+PiArCQkJaXJxX3Jlcy5kZXNjW2ldLm51bSA9IHJtX3Jlcy0+ZGVz Y1tqXS5udW07Cj4+ICsJCX0KPj4gIAl9Cj4+ICAJcmV0ID0gdGlfc2NpX2ludGFfbXNpX2RvbWFp bl9hbGxvY19pcnFzKHVkLT5kZXYsICZpcnFfcmVzKTsKPj4gIAlrZnJlZShpcnFfcmVzLmRlc2Mp Owo+Pgo+IAoKLS0gClDDqXRlcgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5l bEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4v bGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=