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 74BC0C4332F for ; Wed, 8 Nov 2023 15:53:13 +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-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To: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=W4TDvKT41LVF4f0BpClxtXS/+DGEDaObvtcIAJy1k0I=; b=IbJyf0n4jG0QYH lI1wXG7Tzu0xsgMVswnqnYzDTR1h6H0/dQ3qkvceZ1JzqNJqSxibPgjlk4VtwOo0OW1PCrDb3m2jx uNdoLE4ShQgAcT0gFPc/AyVZ8T6dzG59n164rrlk7bQyrmsZJfJMKsikMrVpr85j1PSlikuVsQBa2 URck+we1HORWXJTGgxUTbe0ZYG1QxFyV0j5WL+BPSBNOZY267gVZetE5rQZ/5pf7HMcCJcfjeFl6I ObP+05gf6ENfv0sHrGCrblX85+xBNvNgJpKdg4XE6YqXN7cf5g9j0PqgE99WNzDBMA4w6k9Wl5tR5 y7IVxUrZ3FnMYbHHUp6g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1r0krV-004E6T-2B; Wed, 08 Nov 2023 15:53:01 +0000 Received: from madras.collabora.co.uk ([2a00:1098:0:82:1000:25:2eeb:e5ab]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1r0krQ-004E4x-1y; Wed, 08 Nov 2023 15:52:59 +0000 Received: from [100.116.125.19] (cola.collaboradmins.com [195.201.22.229]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: andrzej.p) by madras.collabora.co.uk (Postfix) with ESMTPSA id 1775F6607691; Wed, 8 Nov 2023 15:52:54 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1699458775; bh=Y+UU9u+0la6hg3Giwyz9F5Hd3qflitPTJYMOZvrsu4Y=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=AmlGSHxxq7uQTp/sIqLXf9YeuuWuFriq3/J5SjUFyzmCEaj/19FzYWWTHVS2IROj+ irpOFOadsAEVjH5ZtY9OzVTvna+3e7Vr7s0vHqdu/DCXL/aPL66z6uiAEEhCkQq6PJ NZh6UYWpeIDPcWv/uD+jJs81Irn+cThfjIxQq/h5Y1VCm2qkZpO6tOFFehboHnzSos GWIpOf5j/3lD50XMRAGrJ70ItMdh2W83v1KW+81SAk4midHtkvtk28C7B3y3RbkoRM hasffNbRgQMjh8v9zF8JtcTeLByY2cTHTJrG1PMxvMKqVmASz0TQ06u7Xid8bs76P4 y5pKGPZNUXdmA== Message-ID: <1092a2f1-9a9f-4cfd-bd2c-63e585fd1cab@collabora.com> Date: Wed, 8 Nov 2023 16:52:52 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v14 04/56] media: videobuf2: Use vb2_buffer instead of index Content-Language: en-US To: Benjamin Gaignard , mchehab@kernel.org, tfiga@chromium.org, m.szyprowski@samsung.com, ming.qian@nxp.com, ezequiel@vanguardiasur.com.ar, p.zabel@pengutronix.de, gregkh@linuxfoundation.org, hverkuil-cisco@xs4all.nl, nicolas.dufresne@collabora.com Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-staging@lists.linux.dev, kernel@collabora.com References: <20231031163104.112469-1-benjamin.gaignard@collabora.com> <20231031163104.112469-5-benjamin.gaignard@collabora.com> From: Andrzej Pietrasiewicz In-Reply-To: <20231031163104.112469-5-benjamin.gaignard@collabora.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231108_075256_987539_C595E631 X-CRM114-Status: GOOD ( 28.85 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org SGkgQmVuamFtaW4sCgpXIGRuaXUgMzEuMTAuMjAyMyBvwqAxNzozMCwgQmVuamFtaW4gR2FpZ25h cmQgcGlzemU6Cj4gRGlyZWN0bHkgdXNlIHZiMl9idWZmZXIgcG9pbnRlciBpbnN0ZWFkIG9mIGlu ZGV4IGluc2lkZSBxdWV1ZSBhcnJheS4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBHYWln bmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAY29sbGFib3JhLmNvbT4KPiAtLS0KPiAgIC4uLi9tZWRp YS9jb21tb24vdmlkZW9idWYyL3ZpZGVvYnVmMi1jb3JlLmMgICB8IDQwICsrKysrLS0tLS0tLS0t LQo+ICAgLi4uL21lZGlhL2NvbW1vbi92aWRlb2J1ZjIvdmlkZW9idWYyLXY0bDIuYyAgIHwgNTEg KysrKysrKysrKystLS0tLS0tLQo+ICAgZHJpdmVycy9tZWRpYS9kdmItY29yZS9kdmJfdmIyLmMg ICAgICAgICAgICAgIHwgIDYgKy0tCj4gICBpbmNsdWRlL21lZGlhL3ZpZGVvYnVmMi1jb3JlLmgg ICAgICAgICAgICAgICAgfCAxNiArKystLS0KPiAgIDQgZmlsZXMgY2hhbmdlZCwgNTMgaW5zZXJ0 aW9ucygrKSwgNjAgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEv Y29tbW9uL3ZpZGVvYnVmMi92aWRlb2J1ZjItY29yZS5jIGIvZHJpdmVycy9tZWRpYS9jb21tb24v dmlkZW9idWYyL3ZpZGVvYnVmMi1jb3JlLmMKPiBpbmRleCA0N2RiYTJhMjBkNzMuLjk2OGI3YzBl NzkzNCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL2NvbW1vbi92aWRlb2J1ZjIvdmlkZW9i dWYyLWNvcmUuYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvY29tbW9uL3ZpZGVvYnVmMi92aWRlb2J1 ZjItY29yZS5jCj4gQEAgLTY1NCw5ICs2NTQsOSBAQCBzdGF0aWMgYm9vbCBfX2J1ZmZlcnNfaW5f dXNlKHN0cnVjdCB2YjJfcXVldWUgKnEpCj4gICAJcmV0dXJuIGZhbHNlOwo+ICAgfQo+ICAgCj4g LXZvaWQgdmIyX2NvcmVfcXVlcnlidWYoc3RydWN0IHZiMl9xdWV1ZSAqcSwgdW5zaWduZWQgaW50 IGluZGV4LCB2b2lkICpwYikKPiArdm9pZCB2YjJfY29yZV9xdWVyeWJ1ZihzdHJ1Y3QgdmIyX3F1 ZXVlICpxLCBzdHJ1Y3QgdmIyX2J1ZmZlciAqdmIsIHZvaWQgKnBiKQo+ICAgewo+IC0JY2FsbF92 b2lkX2J1Zm9wKHEsIGZpbGxfdXNlcl9idWZmZXIsIHEtPmJ1ZnNbaW5kZXhdLCBwYik7Cj4gKwlj YWxsX3ZvaWRfYnVmb3AocSwgZmlsbF91c2VyX2J1ZmZlciwgdmIsIHBiKTsKPiAgIH0KPiAgIEVY UE9SVF9TWU1CT0xfR1BMKHZiMl9jb3JlX3F1ZXJ5YnVmKTsKPiAgIAo+IEBAIC0xNDkwLDkgKzE0 OTAsNiBAQCBzdGF0aWMgdm9pZCB2YjJfcmVxX3VucHJlcGFyZShzdHJ1Y3QgbWVkaWFfcmVxdWVz dF9vYmplY3QgKm9iaikKPiAgIAlXQVJOX09OKCF2Yi0+cmVxX29iai5yZXEpOwo+ICAgfQo+ICAg Cj4gLWludCB2YjJfY29yZV9xYnVmKHN0cnVjdCB2YjJfcXVldWUgKnEsIHVuc2lnbmVkIGludCBp bmRleCwgdm9pZCAqcGIsCj4gLQkJICBzdHJ1Y3QgbWVkaWFfcmVxdWVzdCAqcmVxKTsKPiAtCgpU byBteSB0YXN0ZSB0aGUgcmVtb3ZhbCBvZiB2YjJfY29yZV9xYnVmKCkgcHJvdG90eXBlIGlzIG5v dCBhYm91dAoiZGlyZWN0bHkgdXNpbmcgdmIyX2J1ZmZlciBwb2ludGVyIiwgc28gSSdkIHByZWZl ciBpdCBhcyBhIHNlcGFyYXRlCmNsZWFudXAgcGF0Y2guIE5vdCBhIGJpZyBkZWFsLCB0aG91Z2gs IEkgY2FuIGxpdmUgd2l0aCB0aGlzIGNodW5rCmFzIGl0IGlzLgoKPiAgIHN0YXRpYyB2b2lkIHZi Ml9yZXFfcXVldWUoc3RydWN0IG1lZGlhX3JlcXVlc3Rfb2JqZWN0ICpvYmopCj4gICB7Cj4gICAJ c3RydWN0IHZiMl9idWZmZXIgKnZiID0gY29udGFpbmVyX29mKG9iaiwgc3RydWN0IHZiMl9idWZm ZXIsIHJlcV9vYmopOwo+IEBAIC0xNTA3LDcgKzE1MDQsNyBAQCBzdGF0aWMgdm9pZCB2YjJfcmVx X3F1ZXVlKHN0cnVjdCBtZWRpYV9yZXF1ZXN0X29iamVjdCAqb2JqKQo+ICAgCSAqIHNldC4gV2Ug anVzdCBpZ25vcmUgdGhhdCwgYW5kIGV4cGVjdCB0aGlzIHdpbGwgYmUgY2F1Z2h0IHRoZQo+ICAg CSAqIG5leHQgdGltZSB2YjJfcmVxX3ByZXBhcmUoKSBpcyBjYWxsZWQuCj4gICAJICovCj4gLQll cnIgPSB2YjJfY29yZV9xYnVmKHZiLT52YjJfcXVldWUsIHZiLT5pbmRleCwgTlVMTCwgTlVMTCk7 Cj4gKwllcnIgPSB2YjJfY29yZV9xYnVmKHZiLT52YjJfcXVldWUsIHZiLCBOVUxMLCBOVUxMKTsK PiAgIAlXQVJOX09OX09OQ0UoZXJyICYmIGVyciAhPSAtRUlPKTsKPiAgIAltdXRleF91bmxvY2so dmItPnZiMl9xdWV1ZS0+bG9jayk7Cj4gICB9Cj4gQEAgLTE1NjIsMTIgKzE1NTksMTAgQEAgdW5z aWduZWQgaW50IHZiMl9yZXF1ZXN0X2J1ZmZlcl9jbnQoc3RydWN0IG1lZGlhX3JlcXVlc3QgKnJl cSkKPiAgIH0KPiAgIEVYUE9SVF9TWU1CT0xfR1BMKHZiMl9yZXF1ZXN0X2J1ZmZlcl9jbnQpOwo+ ICAgCj4gLWludCB2YjJfY29yZV9wcmVwYXJlX2J1ZihzdHJ1Y3QgdmIyX3F1ZXVlICpxLCB1bnNp Z25lZCBpbnQgaW5kZXgsIHZvaWQgKnBiKQo+ICtpbnQgdmIyX2NvcmVfcHJlcGFyZV9idWYoc3Ry dWN0IHZiMl9xdWV1ZSAqcSwgc3RydWN0IHZiMl9idWZmZXIgKnZiLCB2b2lkICpwYikKPiAgIHsK PiAtCXN0cnVjdCB2YjJfYnVmZmVyICp2YjsKPiAgIAlpbnQgcmV0Owo+ICAgCj4gLQl2YiA9IHEt PmJ1ZnNbaW5kZXhdOwo+ICAgCWlmICh2Yi0+c3RhdGUgIT0gVkIyX0JVRl9TVEFURV9ERVFVRVVF RCkgewo+ICAgCQlkcHJpbnRrKHEsIDEsICJpbnZhbGlkIGJ1ZmZlciBzdGF0ZSAlc1xuIiwKPiAg IAkJCXZiMl9zdGF0ZV9uYW1lKHZiLT5zdGF0ZSkpOwo+IEBAIC0xNjU0LDEwICsxNjQ5LDkgQEAg c3RhdGljIGludCB2YjJfc3RhcnRfc3RyZWFtaW5nKHN0cnVjdCB2YjJfcXVldWUgKnEpCj4gICAJ cmV0dXJuIHJldDsKPiAgIH0KPiAgIAo+IC1pbnQgdmIyX2NvcmVfcWJ1ZihzdHJ1Y3QgdmIyX3F1 ZXVlICpxLCB1bnNpZ25lZCBpbnQgaW5kZXgsIHZvaWQgKnBiLAo+ICtpbnQgdmIyX2NvcmVfcWJ1 ZihzdHJ1Y3QgdmIyX3F1ZXVlICpxLCBzdHJ1Y3QgdmIyX2J1ZmZlciAqdmIsIHZvaWQgKnBiLAo+ ICAgCQkgIHN0cnVjdCBtZWRpYV9yZXF1ZXN0ICpyZXEpCj4gICB7Cj4gLQlzdHJ1Y3QgdmIyX2J1 ZmZlciAqdmI7Cj4gICAJZW51bSB2YjJfYnVmZmVyX3N0YXRlIG9yaWdfc3RhdGU7Cj4gICAJaW50 IHJldDsKPiAgIAo+IEBAIC0xNjY2LDggKzE2NjAsNiBAQCBpbnQgdmIyX2NvcmVfcWJ1ZihzdHJ1 Y3QgdmIyX3F1ZXVlICpxLCB1bnNpZ25lZCBpbnQgaW5kZXgsIHZvaWQgKnBiLAo+ICAgCQlyZXR1 cm4gLUVJTzsKPiAgIAl9Cj4gICAKPiAtCXZiID0gcS0+YnVmc1tpbmRleF07Cj4gLQo+ICAgCWlm ICghcmVxICYmIHZiLT5zdGF0ZSAhPSBWQjJfQlVGX1NUQVRFX0lOX1JFUVVFU1QgJiYKPiAgIAkg ICAgcS0+cmVxdWlyZXNfcmVxdWVzdHMpIHsKPiAgIAkJZHByaW50ayhxLCAxLCAicWJ1ZiByZXF1 aXJlcyBhIHJlcXVlc3RcbiIpOwo+IEBAIC0yMjQwLDkgKzIyMzIsOCBAQCBzdGF0aWMgaW50IF9f ZmluZF9wbGFuZV9ieV9vZmZzZXQoc3RydWN0IHZiMl9xdWV1ZSAqcSwgdW5zaWduZWQgbG9uZyBv ZmZzZXQsCj4gICB9Cj4gICAKPiAgIGludCB2YjJfY29yZV9leHBidWYoc3RydWN0IHZiMl9xdWV1 ZSAqcSwgaW50ICpmZCwgdW5zaWduZWQgaW50IHR5cGUsCj4gLQkJdW5zaWduZWQgaW50IGluZGV4 LCB1bnNpZ25lZCBpbnQgcGxhbmUsIHVuc2lnbmVkIGludCBmbGFncykKPiArCQkgICAgc3RydWN0 IHZiMl9idWZmZXIgKnZiLCB1bnNpZ25lZCBpbnQgcGxhbmUsIHVuc2lnbmVkIGludCBmbGFncykK PiAgIHsKPiAtCXN0cnVjdCB2YjJfYnVmZmVyICp2YiA9IE5VTEw7Cj4gICAJc3RydWN0IHZiMl9w bGFuZSAqdmJfcGxhbmU7Cj4gICAJaW50IHJldDsKPiAgIAlzdHJ1Y3QgZG1hX2J1ZiAqZGJ1ZjsK PiBAQCAtMjI2NywxMyArMjI1OCw2IEBAIGludCB2YjJfY29yZV9leHBidWYoc3RydWN0IHZiMl9x dWV1ZSAqcSwgaW50ICpmZCwgdW5zaWduZWQgaW50IHR5cGUsCj4gICAJCXJldHVybiAtRUlOVkFM Owo+ICAgCX0KPiAgIAo+IC0JaWYgKGluZGV4ID49IHEtPm51bV9idWZmZXJzKSB7Cj4gLQkJZHBy aW50ayhxLCAxLCAiYnVmZmVyIGluZGV4IG91dCBvZiByYW5nZVxuIik7Cj4gLQkJcmV0dXJuIC1F SU5WQUw7Cj4gLQl9Cj4gLQo+IC0JdmIgPSBxLT5idWZzW2luZGV4XTsKPiAtCj4gICAJaWYgKHBs YW5lID49IHZiLT5udW1fcGxhbmVzKSB7Cj4gICAJCWRwcmludGsocSwgMSwgImJ1ZmZlciBwbGFu ZSBvdXQgb2YgcmFuZ2VcbiIpOwo+ICAgCQlyZXR1cm4gLUVJTlZBTDsKPiBAQCAtMjI5MiwyMCAr MjI3NiwyMCBAQCBpbnQgdmIyX2NvcmVfZXhwYnVmKHN0cnVjdCB2YjJfcXVldWUgKnEsIGludCAq ZmQsIHVuc2lnbmVkIGludCB0eXBlLAo+ICAgCQkJICAgICAgZmxhZ3MgJiBPX0FDQ01PREUpOwo+ ICAgCWlmIChJU19FUlJfT1JfTlVMTChkYnVmKSkgewo+ICAgCQlkcHJpbnRrKHEsIDEsICJmYWls ZWQgdG8gZXhwb3J0IGJ1ZmZlciAlZCwgcGxhbmUgJWRcbiIsCj4gLQkJCWluZGV4LCBwbGFuZSk7 Cj4gKwkJCXZiLT5pbmRleCwgcGxhbmUpOwo+ICAgCQlyZXR1cm4gLUVJTlZBTDsKPiAgIAl9Cj4g ICAKPiAgIAlyZXQgPSBkbWFfYnVmX2ZkKGRidWYsIGZsYWdzICYgfk9fQUNDTU9ERSk7Cj4gICAJ aWYgKHJldCA8IDApIHsKPiAgIAkJZHByaW50ayhxLCAzLCAiYnVmZmVyICVkLCBwbGFuZSAlZCBm YWlsZWQgdG8gZXhwb3J0ICglZClcbiIsCj4gLQkJCWluZGV4LCBwbGFuZSwgcmV0KTsKPiArCQkJ dmItPmluZGV4LCBwbGFuZSwgcmV0KTsKPiAgIAkJZG1hX2J1Zl9wdXQoZGJ1Zik7Cj4gICAJCXJl dHVybiByZXQ7Cj4gICAJfQo+ICAgCj4gICAJZHByaW50ayhxLCAzLCAiYnVmZmVyICVkLCBwbGFu ZSAlZCBleHBvcnRlZCBhcyAlZCBkZXNjcmlwdG9yXG4iLAo+IC0JCWluZGV4LCBwbGFuZSwgcmV0 KTsKPiArCQl2Yi0+aW5kZXgsIHBsYW5lLCByZXQpOwo+ICAgCSpmZCA9IHJldDsKPiAgIAo+ICAg CXJldHVybiAwOwo+IEBAIC0yNzEwLDcgKzI2OTQsNyBAQCBzdGF0aWMgaW50IF9fdmIyX2luaXRf ZmlsZWlvKHN0cnVjdCB2YjJfcXVldWUgKnEsIGludCByZWFkKQo+ICAgCQkgKiBRdWV1ZSBhbGwg YnVmZmVycy4KPiAgIAkJICovCj4gICAJCWZvciAoaSA9IDA7IGkgPCBxLT5udW1fYnVmZmVyczsg aSsrKSB7Cj4gLQkJCXJldCA9IHZiMl9jb3JlX3FidWYocSwgaSwgTlVMTCwgTlVMTCk7Cj4gKwkJ CXJldCA9IHZiMl9jb3JlX3FidWYocSwgcS0+YnVmc1tpXSwgTlVMTCwgTlVMTCk7Cj4gICAJCQlp ZiAocmV0KQo+ICAgCQkJCWdvdG8gZXJyX3JlcWJ1ZnM7Cj4gICAJCQlmaWxlaW8tPmJ1ZnNbaV0u cXVldWVkID0gMTsKPiBAQCAtMjg5NSw3ICsyODc5LDcgQEAgc3RhdGljIHNpemVfdCBfX3ZiMl9w ZXJmb3JtX2ZpbGVpbyhzdHJ1Y3QgdmIyX3F1ZXVlICpxLCBjaGFyIF9fdXNlciAqZGF0YSwgc2l6 ZV8KPiAgIAo+ICAgCQlpZiAoY29weV90aW1lc3RhbXApCj4gICAJCQliLT50aW1lc3RhbXAgPSBr dGltZV9nZXRfbnMoKTsKPiAtCQlyZXQgPSB2YjJfY29yZV9xYnVmKHEsIGluZGV4LCBOVUxMLCBO VUxMKTsKPiArCQlyZXQgPSB2YjJfY29yZV9xYnVmKHEsIGIsIE5VTEwsIE5VTEwpOwo+ICAgCQlk cHJpbnRrKHEsIDUsICJ2YjJfcWJ1ZiByZXN1bHQ6ICVkXG4iLCByZXQpOwo+ICAgCQlpZiAocmV0 KQo+ICAgCQkJcmV0dXJuIHJldDsKPiBAQCAtMjk5OCw3ICsyOTgyLDcgQEAgc3RhdGljIGludCB2 YjJfdGhyZWFkKHZvaWQgKmRhdGEpCj4gICAJCWlmIChjb3B5X3RpbWVzdGFtcCkKPiAgIAkJCXZi LT50aW1lc3RhbXAgPSBrdGltZV9nZXRfbnMoKTsKPiAgIAkJaWYgKCF0aHJlYWRpby0+c3RvcCkK PiAtCQkJcmV0ID0gdmIyX2NvcmVfcWJ1ZihxLCB2Yi0+aW5kZXgsIE5VTEwsIE5VTEwpOwo+ICsJ CQlyZXQgPSB2YjJfY29yZV9xYnVmKHEsIHZiLCBOVUxMLCBOVUxMKTsKPiAgIAkJY2FsbF92b2lk X3FvcChxLCB3YWl0X3ByZXBhcmUsIHEpOwo+ICAgCQlpZiAocmV0IHx8IHRocmVhZGlvLT5zdG9w KQo+ICAgCQkJYnJlYWs7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvY29tbW9uL3ZpZGVv YnVmMi92aWRlb2J1ZjItdjRsMi5jIGIvZHJpdmVycy9tZWRpYS9jb21tb24vdmlkZW9idWYyL3Zp ZGVvYnVmMi12NGwyLmMKPiBpbmRleCBjN2E1NGQ4MmE1NWUuLmQxOWQ4MmE3NWFjNiAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL21lZGlhL2NvbW1vbi92aWRlb2J1ZjIvdmlkZW9idWYyLXY0bDIuYwo+ ICsrKyBiL2RyaXZlcnMvbWVkaWEvY29tbW9uL3ZpZGVvYnVmMi92aWRlb2J1ZjItdjRsMi5jCj4g QEAgLTM2NCwxMyArMzY0LDEyIEBAIHN0YXRpYyB2b2lkIHNldF9idWZmZXJfY2FjaGVfaGludHMo c3RydWN0IHZiMl9xdWV1ZSAqcSwKPiAgIH0KPiAgIAo+ICAgc3RhdGljIGludCB2YjJfcXVldWVf b3JfcHJlcGFyZV9idWYoc3RydWN0IHZiMl9xdWV1ZSAqcSwgc3RydWN0IG1lZGlhX2RldmljZSAq bWRldiwKPiAtCQkJCSAgICBzdHJ1Y3QgdjRsMl9idWZmZXIgKmIsIGJvb2wgaXNfcHJlcGFyZSwK PiAtCQkJCSAgICBzdHJ1Y3QgbWVkaWFfcmVxdWVzdCAqKnBfcmVxKQo+ICsJCQkJICAgIHN0cnVj dCB2YjJfYnVmZmVyICp2Yiwgc3RydWN0IHY0bDJfYnVmZmVyICpiLAo+ICsJCQkJICAgIGJvb2wg aXNfcHJlcGFyZSwgc3RydWN0IG1lZGlhX3JlcXVlc3QgKipwX3JlcSkKPiAgIHsKPiAgIAljb25z dCBjaGFyICpvcG5hbWUgPSBpc19wcmVwYXJlID8gInByZXBhcmVfYnVmIiA6ICJxYnVmIjsKPiAg IAlzdHJ1Y3QgbWVkaWFfcmVxdWVzdCAqcmVxOwo+ICAgCXN0cnVjdCB2YjJfdjRsMl9idWZmZXIg KnZidWY7Cj4gLQlzdHJ1Y3QgdmIyX2J1ZmZlciAqdmI7Cj4gICAJaW50IHJldDsKPiAgIAo+ICAg CWlmIChiLT50eXBlICE9IHEtPnR5cGUpIHsKPiBAQCAtMzc4LDIzICszNzcsMTEgQEAgc3RhdGlj IGludCB2YjJfcXVldWVfb3JfcHJlcGFyZV9idWYoc3RydWN0IHZiMl9xdWV1ZSAqcSwgc3RydWN0 IG1lZGlhX2RldmljZSAqbWQKPiAgIAkJcmV0dXJuIC1FSU5WQUw7Cj4gICAJfQo+ICAgCj4gLQlp ZiAoYi0+aW5kZXggPj0gcS0+bnVtX2J1ZmZlcnMpIHsKPiAtCQlkcHJpbnRrKHEsIDEsICIlczog YnVmZmVyIGluZGV4IG91dCBvZiByYW5nZVxuIiwgb3BuYW1lKTsKPiAtCQlyZXR1cm4gLUVJTlZB TDsKPiAtCX0KPiAtCj4gLQlpZiAocS0+YnVmc1tiLT5pbmRleF0gPT0gTlVMTCkgewo+IC0JCS8q IFNob3VsZCBuZXZlciBoYXBwZW4gKi8KPiAtCQlkcHJpbnRrKHEsIDEsICIlczogYnVmZmVyIGlz IE5VTExcbiIsIG9wbmFtZSk7Cj4gLQkJcmV0dXJuIC1FSU5WQUw7Cj4gLQl9Cj4gLQo+ICAgCWlm IChiLT5tZW1vcnkgIT0gcS0+bWVtb3J5KSB7Cj4gICAJCWRwcmludGsocSwgMSwgIiVzOiBpbnZh bGlkIG1lbW9yeSB0eXBlXG4iLCBvcG5hbWUpOwo+ICAgCQlyZXR1cm4gLUVJTlZBTDsKPiAgIAl9 Cj4gICAKPiAtCXZiID0gcS0+YnVmc1tiLT5pbmRleF07Cj4gICAJdmJ1ZiA9IHRvX3ZiMl92NGwy X2J1ZmZlcih2Yik7Cj4gICAJcmV0ID0gX192ZXJpZnlfcGxhbmVzX2FycmF5KHZiLCBiKTsKPiAg IAlpZiAocmV0KQo+IEBAIC02NjcsNyArNjU0LDcgQEAgaW50IHZiMl9xdWVyeWJ1ZihzdHJ1Y3Qg dmIyX3F1ZXVlICpxLCBzdHJ1Y3QgdjRsMl9idWZmZXIgKmIpCj4gICAJdmIgPSBxLT5idWZzW2It PmluZGV4XTsKPiAgIAlyZXQgPSBfX3ZlcmlmeV9wbGFuZXNfYXJyYXkodmIsIGIpOwo+ICAgCWlm ICghcmV0KQo+IC0JCXZiMl9jb3JlX3F1ZXJ5YnVmKHEsIGItPmluZGV4LCBiKTsKPiArCQl2YjJf Y29yZV9xdWVyeWJ1ZihxLCB2YiwgYik7Cj4gICAJcmV0dXJuIHJldDsKPiAgIH0KPiAgIEVYUE9S VF9TWU1CT0wodmIyX3F1ZXJ5YnVmKTsKPiBAQCAtNzIzLDYgKzcxMCw3IEBAIEVYUE9SVF9TWU1C T0xfR1BMKHZiMl9yZXFidWZzKTsKPiAgIGludCB2YjJfcHJlcGFyZV9idWYoc3RydWN0IHZiMl9x dWV1ZSAqcSwgc3RydWN0IG1lZGlhX2RldmljZSAqbWRldiwKPiAgIAkJICAgIHN0cnVjdCB2NGwy X2J1ZmZlciAqYikKPiAgIHsKPiArCXN0cnVjdCB2YjJfYnVmZmVyICp2YjsKPiAgIAlpbnQgcmV0 Owo+ICAgCj4gICAJaWYgKHZiMl9maWxlaW9faXNfYWN0aXZlKHEpKSB7Cj4gQEAgLTczMyw5ICs3 MjEsMTUgQEAgaW50IHZiMl9wcmVwYXJlX2J1ZihzdHJ1Y3QgdmIyX3F1ZXVlICpxLCBzdHJ1Y3Qg bWVkaWFfZGV2aWNlICptZGV2LAo+ICAgCWlmIChiLT5mbGFncyAmIFY0TDJfQlVGX0ZMQUdfUkVR VUVTVF9GRCkKPiAgIAkJcmV0dXJuIC1FSU5WQUw7Cj4gICAKPiAtCXJldCA9IHZiMl9xdWV1ZV9v cl9wcmVwYXJlX2J1ZihxLCBtZGV2LCBiLCB0cnVlLCBOVUxMKTsKPiArCWlmIChiLT5pbmRleCA+ PSBxLT5udW1fYnVmZmVycykgewo+ICsJCWRwcmludGsocSwgMSwgImJ1ZmZlciBpbmRleCBvdXQg b2YgcmFuZ2VcbiIpOwo+ICsJCXJldHVybiAtRUlOVkFMOwo+ICsJfQo+ICsJdmIgPSBxLT5idWZz W2ItPmluZGV4XTsKPiAgIAo+IC0JcmV0dXJuIHJldCA/IHJldCA6IHZiMl9jb3JlX3ByZXBhcmVf YnVmKHEsIGItPmluZGV4LCBiKTsKPiArCXJldCA9IHZiMl9xdWV1ZV9vcl9wcmVwYXJlX2J1Zihx LCBtZGV2LCB2YiwgYiwgdHJ1ZSwgTlVMTCk7Cj4gKwo+ICsJcmV0dXJuIHJldCA/IHJldCA6IHZi Ml9jb3JlX3ByZXBhcmVfYnVmKHEsIHZiLCBiKTsKPiAgIH0KPiAgIEVYUE9SVF9TWU1CT0xfR1BM KHZiMl9wcmVwYXJlX2J1Zik7Cj4gICAKPiBAQCAtODAzLDYgKzc5Nyw3IEBAIGludCB2YjJfcWJ1 ZihzdHJ1Y3QgdmIyX3F1ZXVlICpxLCBzdHJ1Y3QgbWVkaWFfZGV2aWNlICptZGV2LAo+ICAgCSAg ICAgc3RydWN0IHY0bDJfYnVmZmVyICpiKQo+ICAgewo+ICAgCXN0cnVjdCBtZWRpYV9yZXF1ZXN0 ICpyZXEgPSBOVUxMOwo+ICsJc3RydWN0IHZiMl9idWZmZXIgKnZiOwo+ICAgCWludCByZXQ7Cj4g ICAKPiAgIAlpZiAodmIyX2ZpbGVpb19pc19hY3RpdmUocSkpIHsKPiBAQCAtODEwLDEwICs4MDUs MTYgQEAgaW50IHZiMl9xYnVmKHN0cnVjdCB2YjJfcXVldWUgKnEsIHN0cnVjdCBtZWRpYV9kZXZp Y2UgKm1kZXYsCj4gICAJCXJldHVybiAtRUJVU1k7Cj4gICAJfQo+ICAgCj4gLQlyZXQgPSB2YjJf cXVldWVfb3JfcHJlcGFyZV9idWYocSwgbWRldiwgYiwgZmFsc2UsICZyZXEpOwo+ICsJaWYgKGIt PmluZGV4ID49IHEtPm51bV9idWZmZXJzKSB7Cj4gKwkJZHByaW50ayhxLCAxLCAiYnVmZmVyIGlu ZGV4IG91dCBvZiByYW5nZVxuIik7Cj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gKwl9Cj4gKwl2YiA9 IHEtPmJ1ZnNbYi0+aW5kZXhdOwo+ICsKPiArCXJldCA9IHZiMl9xdWV1ZV9vcl9wcmVwYXJlX2J1 ZihxLCBtZGV2LCB2YiwgYiwgZmFsc2UsICZyZXEpOwo+ICAgCWlmIChyZXQpCj4gICAJCXJldHVy biByZXQ7Cj4gLQlyZXQgPSB2YjJfY29yZV9xYnVmKHEsIGItPmluZGV4LCBiLCByZXEpOwo+ICsJ cmV0ID0gdmIyX2NvcmVfcWJ1ZihxLCB2YiwgYiwgcmVxKTsKPiAgIAlpZiAocmVxKQo+ICAgCQlt ZWRpYV9yZXF1ZXN0X3B1dChyZXEpOwo+ICAgCXJldHVybiByZXQ7Cj4gQEAgLTg3Myw3ICs4NzQs MTUgQEAgRVhQT1JUX1NZTUJPTF9HUEwodmIyX3N0cmVhbW9mZik7Cj4gICAKPiAgIGludCB2YjJf ZXhwYnVmKHN0cnVjdCB2YjJfcXVldWUgKnEsIHN0cnVjdCB2NGwyX2V4cG9ydGJ1ZmZlciAqZWIp Cj4gICB7Cj4gLQlyZXR1cm4gdmIyX2NvcmVfZXhwYnVmKHEsICZlYi0+ZmQsIGViLT50eXBlLCBl Yi0+aW5kZXgsCj4gKwlzdHJ1Y3QgdmIyX2J1ZmZlciAqdmI7Cj4gKwo+ICsJaWYgKGViLT5pbmRl eCA+PSBxLT5udW1fYnVmZmVycykgewo+ICsJCWRwcmludGsocSwgMSwgImJ1ZmZlciBpbmRleCBv dXQgb2YgcmFuZ2VcbiIpOwo+ICsJCXJldHVybiAtRUlOVkFMOwo+ICsJfQo+ICsJdmIgPSBxLT5i dWZzW2ViLT5pbmRleF07Cj4gKwo+ICsJcmV0dXJuIHZiMl9jb3JlX2V4cGJ1ZihxLCAmZWItPmZk LCBlYi0+dHlwZSwgdmIsCj4gICAJCQkJZWItPnBsYW5lLCBlYi0+ZmxhZ3MpOwo+ICAgfQo+ICAg RVhQT1JUX1NZTUJPTF9HUEwodmIyX2V4cGJ1Zik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVk aWEvZHZiLWNvcmUvZHZiX3ZiMi5jIGIvZHJpdmVycy9tZWRpYS9kdmItY29yZS9kdmJfdmIyLmMK PiBpbmRleCA5MDlkZjgyZmVkMzMuLmIzMjJlZjE3OWYwNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L21lZGlhL2R2Yi1jb3JlL2R2Yl92YjIuYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvZHZiLWNvcmUv ZHZiX3ZiMi5jCj4gQEAgLTM2MCw3ICszNjAsNyBAQCBpbnQgZHZiX3ZiMl9xdWVyeWJ1ZihzdHJ1 Y3QgZHZiX3ZiMl9jdHggKmN0eCwgc3RydWN0IGRteF9idWZmZXIgKmIpCj4gICAJCWRwcmludGso MSwgIlslc10gYnVmZmVyIGluZGV4IG91dCBvZiByYW5nZVxuIiwgY3R4LT5uYW1lKTsKPiAgIAkJ cmV0dXJuIC1FSU5WQUw7Cj4gICAJfQo+IC0JdmIyX2NvcmVfcXVlcnlidWYoJmN0eC0+dmJfcSwg Yi0+aW5kZXgsIGIpOwo+ICsJdmIyX2NvcmVfcXVlcnlidWYoJmN0eC0+dmJfcSwgcS0+YnVmc1ti LT5pbmRleF0sIGIpOwo+ICAgCWRwcmludGsoMywgIlslc10gaW5kZXg9JWRcbiIsIGN0eC0+bmFt ZSwgYi0+aW5kZXgpOwo+ICAgCXJldHVybiAwOwo+ICAgfQo+IEBAIC0zNzAsNyArMzcwLDcgQEAg aW50IGR2Yl92YjJfZXhwYnVmKHN0cnVjdCBkdmJfdmIyX2N0eCAqY3R4LCBzdHJ1Y3QgZG14X2V4 cG9ydGJ1ZmZlciAqZXhwKQo+ICAgCXN0cnVjdCB2YjJfcXVldWUgKnEgPSAmY3R4LT52Yl9xOwo+ ICAgCWludCByZXQ7Cj4gICAKPiAtCXJldCA9IHZiMl9jb3JlX2V4cGJ1ZigmY3R4LT52Yl9xLCAm ZXhwLT5mZCwgcS0+dHlwZSwgZXhwLT5pbmRleCwKPiArCXJldCA9IHZiMl9jb3JlX2V4cGJ1Zigm Y3R4LT52Yl9xLCAmZXhwLT5mZCwgcS0+dHlwZSwgcS0+YnVmc1tleHAtPmluZGV4XSwKPiAgIAkJ CSAgICAgIDAsIGV4cC0+ZmxhZ3MpOwo+ICAgCWlmIChyZXQpIHsKPiAgIAkJZHByaW50aygxLCAi WyVzXSBpbmRleD0lZCBlcnJubz0lZFxuIiwgY3R4LT5uYW1lLAo+IEBAIC0zOTEsNyArMzkxLDcg QEAgaW50IGR2Yl92YjJfcWJ1ZihzdHJ1Y3QgZHZiX3ZiMl9jdHggKmN0eCwgc3RydWN0IGRteF9i dWZmZXIgKmIpCj4gICAJCWRwcmludGsoMSwgIlslc10gYnVmZmVyIGluZGV4IG91dCBvZiByYW5n ZVxuIiwgY3R4LT5uYW1lKTsKPiAgIAkJcmV0dXJuIC1FSU5WQUw7Cj4gICAJfQo+IC0JcmV0ID0g dmIyX2NvcmVfcWJ1ZigmY3R4LT52Yl9xLCBiLT5pbmRleCwgYiwgTlVMTCk7Cj4gKwlyZXQgPSB2 YjJfY29yZV9xYnVmKCZjdHgtPnZiX3EsIHEtPmJ1ZnNbYi0+aW5kZXhdLCBiLCBOVUxMKTsKPiAg IAlpZiAocmV0KSB7Cj4gICAJCWRwcmludGsoMSwgIlslc10gaW5kZXg9JWQgZXJybm89JWRcbiIs IGN0eC0+bmFtZSwKPiAgIAkJCWItPmluZGV4LCByZXQpOwo+IGRpZmYgLS1naXQgYS9pbmNsdWRl L21lZGlhL3ZpZGVvYnVmMi1jb3JlLmggYi9pbmNsdWRlL21lZGlhL3ZpZGVvYnVmMi1jb3JlLmgK PiBpbmRleCA0YjZhOWQyZWEzNzIuLmNkM2ZmMWNkNzU5ZCAxMDA2NDQKPiAtLS0gYS9pbmNsdWRl L21lZGlhL3ZpZGVvYnVmMi1jb3JlLmgKPiArKysgYi9pbmNsdWRlL21lZGlhL3ZpZGVvYnVmMi1j b3JlLmgKPiBAQCAtNzQ3LDcgKzc0Nyw3IEBAIGludCB2YjJfd2FpdF9mb3JfYWxsX2J1ZmZlcnMo c3RydWN0IHZiMl9xdWV1ZSAqcSk7Cj4gICAvKioKPiAgICAqIHZiMl9jb3JlX3F1ZXJ5YnVmKCkg LSBxdWVyeSB2aWRlbyBidWZmZXIgaW5mb3JtYXRpb24uCj4gICAgKiBAcToJCXBvaW50ZXIgdG8g JnN0cnVjdCB2YjJfcXVldWUgd2l0aCB2aWRlb2J1ZjIgcXVldWUuCj4gLSAqIEBpbmRleDoJaWQg bnVtYmVyIG9mIHRoZSBidWZmZXIuCj4gKyAqIEB2YjoJCXBvaW50ZXIgdG8gc3RydWN0ICZ2YjJf YnVmZmVyLgoKSXQgc2VlbXMgdG8gbWUgdGhhdCBpbiB0aGUgZG9jIGNvbW1lbnRzIHRoZSBjb252 ZW50aW9uIGlzIHRvIHB1dCB0aGUKYW1wZXJzYW5kIGJlZm9yZSB0aGUgd29yZCAic3RydWN0Ii4g VGhlcmUgYXJlIHNldmVyYWwgaW5zdGFuY2VzCm9mIHRoaXMuCgpXaXRoIHRoaXMgZWl0aGVyIGNv bmZpcm1lZCB0byBiZSBpbnRlbnRpb25hbCBvciBjb3JyZWN0ZWQgdG8gZm9sbG93Cm90aGVyIHVz ZXMgeW91IGNhbiBhZGQgbXkKClJldmlld2VkLWJ5OiBBbmRyemVqIFBpZXRyYXNpZXdpY3ogPGFu ZHJ6ZWoucEBjb2xsYWJvcmEuY29tPgoKPiAgICAqIEBwYjoJCWJ1ZmZlciBzdHJ1Y3QgcGFzc2Vk IGZyb20gdXNlcnNwYWNlLgo+ICAgICoKPiAgICAqIFZpZGVvYnVmMiBjb3JlIGhlbHBlciB0byBp bXBsZW1lbnQgVklESU9DX1FVRVJZQlVGKCkgb3BlcmF0aW9uLiBJdCBpcyBjYWxsZWQKPiBAQCAt NzU5LDcgKzc1OSw3IEBAIGludCB2YjJfd2FpdF9mb3JfYWxsX2J1ZmZlcnMoc3RydWN0IHZiMl9x dWV1ZSAqcSk7Cj4gICAgKgo+ICAgICogUmV0dXJuOiByZXR1cm5zIHplcm8gb24gc3VjY2Vzczsg YW4gZXJyb3IgY29kZSBvdGhlcndpc2UuCj4gICAgKi8KPiAtdm9pZCB2YjJfY29yZV9xdWVyeWJ1 ZihzdHJ1Y3QgdmIyX3F1ZXVlICpxLCB1bnNpZ25lZCBpbnQgaW5kZXgsIHZvaWQgKnBiKTsKPiAr dm9pZCB2YjJfY29yZV9xdWVyeWJ1ZihzdHJ1Y3QgdmIyX3F1ZXVlICpxLCBzdHJ1Y3QgdmIyX2J1 ZmZlciAqdmIsIHZvaWQgKnBiKTsKPiAgIAo+ICAgLyoqCj4gICAgKiB2YjJfY29yZV9yZXFidWZz KCkgLSBJbml0aWF0ZSBzdHJlYW1pbmcuCj4gQEAgLTgyMyw3ICs4MjMsNyBAQCBpbnQgdmIyX2Nv cmVfY3JlYXRlX2J1ZnMoc3RydWN0IHZiMl9xdWV1ZSAqcSwgZW51bSB2YjJfbWVtb3J5IG1lbW9y eSwKPiAgICAqIHZiMl9jb3JlX3ByZXBhcmVfYnVmKCkgLSBQYXNzIG93bmVyc2hpcCBvZiBhIGJ1 ZmZlciBmcm9tIHVzZXJzcGFjZQo+ICAgICoJCQl0byB0aGUga2VybmVsLgo+ICAgICogQHE6CQlw b2ludGVyIHRvICZzdHJ1Y3QgdmIyX3F1ZXVlIHdpdGggdmlkZW9idWYyIHF1ZXVlLgo+IC0gKiBA aW5kZXg6CWlkIG51bWJlciBvZiB0aGUgYnVmZmVyLgo+ICsgKiBAdmI6CQlwb2ludGVyIHRvIHN0 cnVjdCAmdmIyX2J1ZmZlci4KPiAgICAqIEBwYjoJCWJ1ZmZlciBzdHJ1Y3R1cmUgcGFzc2VkIGZy b20gdXNlcnNwYWNlIHRvCj4gICAgKgkJJnY0bDJfaW9jdGxfb3BzLT52aWRpb2NfcHJlcGFyZV9i dWYgaGFuZGxlciBpbiBkcml2ZXIuCj4gICAgKgo+IEBAIC04MzksMTMgKzgzOSwxMyBAQCBpbnQg dmIyX2NvcmVfY3JlYXRlX2J1ZnMoc3RydWN0IHZiMl9xdWV1ZSAqcSwgZW51bSB2YjJfbWVtb3J5 IG1lbW9yeSwKPiAgICAqCj4gICAgKiBSZXR1cm46IHJldHVybnMgemVybyBvbiBzdWNjZXNzOyBh biBlcnJvciBjb2RlIG90aGVyd2lzZS4KPiAgICAqLwo+IC1pbnQgdmIyX2NvcmVfcHJlcGFyZV9i dWYoc3RydWN0IHZiMl9xdWV1ZSAqcSwgdW5zaWduZWQgaW50IGluZGV4LCB2b2lkICpwYik7Cj4g K2ludCB2YjJfY29yZV9wcmVwYXJlX2J1ZihzdHJ1Y3QgdmIyX3F1ZXVlICpxLCBzdHJ1Y3QgdmIy X2J1ZmZlciAqdmIsIHZvaWQgKnBiKTsKPiAgIAo+ICAgLyoqCj4gICAgKiB2YjJfY29yZV9xYnVm KCkgLSBRdWV1ZSBhIGJ1ZmZlciBmcm9tIHVzZXJzcGFjZQo+ICAgICoKPiAgICAqIEBxOgkJcG9p bnRlciB0byAmc3RydWN0IHZiMl9xdWV1ZSB3aXRoIHZpZGVvYnVmMiBxdWV1ZS4KPiAtICogQGlu ZGV4OglpZCBudW1iZXIgb2YgdGhlIGJ1ZmZlcgo+ICsgKiBAdmI6CQlwb2ludGVyIHRvIHN0cnVj dCAmdmIyX2J1ZmZlci4KPiAgICAqIEBwYjoJCWJ1ZmZlciBzdHJ1Y3R1cmUgcGFzc2VkIGZyb20g dXNlcnNwYWNlIHRvCj4gICAgKgkJdjRsMl9pb2N0bF9vcHMtPnZpZGlvY19xYnVmIGhhbmRsZXIg aW4gZHJpdmVyCj4gICAgKiBAcmVxOglwb2ludGVyIHRvICZzdHJ1Y3QgbWVkaWFfcmVxdWVzdCwg bWF5IGJlIE5VTEwuCj4gQEAgLTg2Nyw3ICs4NjcsNyBAQCBpbnQgdmIyX2NvcmVfcHJlcGFyZV9i dWYoc3RydWN0IHZiMl9xdWV1ZSAqcSwgdW5zaWduZWQgaW50IGluZGV4LCB2b2lkICpwYik7Cj4g ICAgKgo+ICAgICogUmV0dXJuOiByZXR1cm5zIHplcm8gb24gc3VjY2VzczsgYW4gZXJyb3IgY29k ZSBvdGhlcndpc2UuCj4gICAgKi8KPiAtaW50IHZiMl9jb3JlX3FidWYoc3RydWN0IHZiMl9xdWV1 ZSAqcSwgdW5zaWduZWQgaW50IGluZGV4LCB2b2lkICpwYiwKPiAraW50IHZiMl9jb3JlX3FidWYo c3RydWN0IHZiMl9xdWV1ZSAqcSwgc3RydWN0IHZiMl9idWZmZXIgKnZiLCB2b2lkICpwYiwKPiAg IAkJICBzdHJ1Y3QgbWVkaWFfcmVxdWVzdCAqcmVxKTsKPiAgIAo+ICAgLyoqCj4gQEAgLTkzMSw3 ICs5MzEsNyBAQCBpbnQgdmIyX2NvcmVfc3RyZWFtb2ZmKHN0cnVjdCB2YjJfcXVldWUgKnEsIHVu c2lnbmVkIGludCB0eXBlKTsKPiAgICAqIEBmZDoJCXBvaW50ZXIgdG8gdGhlIGZpbGUgZGVzY3Jp cHRvciBhc3NvY2lhdGVkIHdpdGggRE1BQlVGCj4gICAgKgkJKHNldCBieSBkcml2ZXIpLgo+ICAg ICogQHR5cGU6CWJ1ZmZlciB0eXBlLgo+IC0gKiBAaW5kZXg6CWlkIG51bWJlciBvZiB0aGUgYnVm ZmVyLgo+ICsgKiBAdmI6CQlwb2ludGVyIHRvIHN0cnVjdCAmdmIyX2J1ZmZlci4KPiAgICAqIEBw bGFuZToJaW5kZXggb2YgdGhlIHBsYW5lIHRvIGJlIGV4cG9ydGVkLCAwIGZvciBzaW5nbGUgcGxh bmUgcXVldWVzCj4gICAgKiBAZmxhZ3M6CWZpbGUgZmxhZ3MgZm9yIG5ld2x5IGNyZWF0ZWQgZmls ZSwgYXMgZGVmaW5lZCBhdAo+ICAgICoJCWluY2x1ZGUvdWFwaS9hc20tZ2VuZXJpYy9mY250bC5o Lgo+IEBAIC05NDUsNyArOTQ1LDcgQEAgaW50IHZiMl9jb3JlX3N0cmVhbW9mZihzdHJ1Y3QgdmIy X3F1ZXVlICpxLCB1bnNpZ25lZCBpbnQgdHlwZSk7Cj4gICAgKiBSZXR1cm46IHJldHVybnMgemVy byBvbiBzdWNjZXNzOyBhbiBlcnJvciBjb2RlIG90aGVyd2lzZS4KPiAgICAqLwo+ICAgaW50IHZi Ml9jb3JlX2V4cGJ1ZihzdHJ1Y3QgdmIyX3F1ZXVlICpxLCBpbnQgKmZkLCB1bnNpZ25lZCBpbnQg dHlwZSwKPiAtCQl1bnNpZ25lZCBpbnQgaW5kZXgsIHVuc2lnbmVkIGludCBwbGFuZSwgdW5zaWdu ZWQgaW50IGZsYWdzKTsKPiArCQkgICAgc3RydWN0IHZiMl9idWZmZXIgKnZiLCB1bnNpZ25lZCBp bnQgcGxhbmUsIHVuc2lnbmVkIGludCBmbGFncyk7Cj4gICAKPiAgIC8qKgo+ICAgICogdmIyX2Nv cmVfcXVldWVfaW5pdCgpIC0gaW5pdGlhbGl6ZSBhIHZpZGVvYnVmMiBxdWV1ZQoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkxpbnV4LXJvY2tjaGlwIG1h aWxpbmcgbGlzdApMaW51eC1yb2NrY2hpcEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0 cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcm9ja2NoaXAK