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 59667C4332F for ; Wed, 8 Nov 2023 15:30:56 +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=jibLduuvMkW9Z9TNLDAF9aujLUSQ2Ybr4C3J60rHk7c=; b=ZPy1xxKxG6D9s4 gdk4rkO/8ZLVXReswu4WcjNdgLOlu2SFA4tA0hxwMUWu+9EATNXhC5eL9pOtrAkiC7Qyi4UO7nCOK kph3UbYfmmVk1s/sjL0e3AJSmWT9Ew0T9uX1y5TfYQV25GNtN5Q90KR11cZKubicfvO4E/P/Cq4Ic Cb3FghTVfEgTqko4PMq3bS8pq7pn1/oK9IoZvw816WcMSxCu31MkkPRrrCdNdO6qnZJIf4oCv/9BY 25xdsUeYYi34NWgBxIA3eF85Du8OkkosD022//WKbhufNCflQXLelHhBqeMpN15oAJOYcMMLVioMf dW+LJCdXH4gIDh2hoKaQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1r0kVz-004C4O-2o; Wed, 08 Nov 2023 15:30:47 +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 1r0kVv-004C2y-2w; Wed, 08 Nov 2023 15:30:46 +0000 Received: from [100.98.136.55] (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: benjamin.gaignard) by madras.collabora.co.uk (Postfix) with ESMTPSA id B783D660768F; Wed, 8 Nov 2023 15:30:41 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1699457442; bh=Oc5ucHgBclSu4tvtR6ouULV4VWeFLo0Vi71T2so0T1E=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=EZRQ2kfIX7g6DNxyPFg+xoeMBDkIkPoQ0fcYlPC70AG4A5O7P35PjTsOx4iHw85gY s3qdc5DWZWfTuwU7/8IHP55uhG36Ygw+h+F/mWWHPGYBvxV9TpRktTzgKeD6XHmhZU U9I6Sm9RyMbHMV2XnXPHFls6oi0+O3crsdfuOWODtc3CXhMjxUDCW8eRr5lWYgDhtf fOmLI2Jh/6UEOmEr8EfmcZzajjc81gCjBxMaA1O15Tjfvz60a07fzXo70A57zrTVvq bm6Ogfvn92sct8WUU2/mAWxgGJtDqlypcrf4h27EMB4xnjSKi9B0td0hwKE3ztubek db5gXWPOD9RWQ== Message-ID: Date: Wed, 8 Nov 2023 16:30:39 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v14 52/56] media: core: Add bitmap manage bufs array entries Content-Language: en-US To: Tomasz Figa Cc: mchehab@kernel.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, 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-53-benjamin.gaignard@collabora.com> <20231108104439.oxpbbd2yro7u57t4@chromium.org> From: Benjamin Gaignard In-Reply-To: <20231108104439.oxpbbd2yro7u57t4@chromium.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231108_073044_212121_3041789C X-CRM114-Status: GOOD ( 32.56 ) 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 CkxlIDA4LzExLzIwMjMgw6AgMTE6NDQsIFRvbWFzeiBGaWdhIGEgw6ljcml0wqA6Cj4gT24gVHVl LCBPY3QgMzEsIDIwMjMgYXQgMDU6MzE6MDBQTSArMDEwMCwgQmVuamFtaW4gR2FpZ25hcmQgd3Jv dGU6Cj4+IEFkZCBhIGJpdG1hcCBmaWVsZCB0byBrbm93IHdoaWNoIG9mIGJ1ZnMgYXJyYXkgZW50 cmllcyBhcmUKPj4gdXNlZCBvciBub3QuCj4+IFJlbW92ZSBubyBtb3JlIHVzZWQgbnVtX2J1ZmZl cnMgZmllbGQgZnJvbSBxdWV1ZSBzdHJ1Y3R1cmUuCj4+IFVzZSBiaXRtYXBfZmluZF9uZXh0X3pl cm9fYXJlYSgpIHRvIGZpbmQgdGhlIGZpcnN0IHBvc3NpYmxlCj4+IHJhbmdlIHdoZW4gY3JlYXRp bmcgbmV3IGJ1ZmZlcnMgdG8gZmlsbCB0aGUgZ2Fwcy4KPj4KPj4gU2lnbmVkLW9mZi1ieTogQmVu amFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGNvbGxhYm9yYS5jb20+Cj4+IC0tLQo+ PiAgIC4uLi9tZWRpYS9jb21tb24vdmlkZW9idWYyL3ZpZGVvYnVmMi1jb3JlLmMgICB8IDQyICsr KysrKysrKysrKysrKy0tLS0KPj4gICBpbmNsdWRlL21lZGlhL3ZpZGVvYnVmMi1jb3JlLmggICAg ICAgICAgICAgICAgfCAxNSArKysrLS0tCj4+ICAgMiBmaWxlcyBjaGFuZ2VkLCA0MiBpbnNlcnRp b25zKCspLCAxNSBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEv Y29tbW9uL3ZpZGVvYnVmMi92aWRlb2J1ZjItY29yZS5jIGIvZHJpdmVycy9tZWRpYS9jb21tb24v dmlkZW9idWYyL3ZpZGVvYnVmMi1jb3JlLmMKPj4gaW5kZXggMmM4Y2Y0NzlhOTYyLi42ZTg4NDA2 ZmNhZTkgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvbWVkaWEvY29tbW9uL3ZpZGVvYnVmMi92aWRl b2J1ZjItY29yZS5jCj4+ICsrKyBiL2RyaXZlcnMvbWVkaWEvY29tbW9uL3ZpZGVvYnVmMi92aWRl b2J1ZjItY29yZS5jCj4+IEBAIC00MTYsMTEgKzQxNiwxMiBAQCBzdGF0aWMgdm9pZCBpbml0X2J1 ZmZlcl9jYWNoZV9oaW50cyhzdHJ1Y3QgdmIyX3F1ZXVlICpxLCBzdHJ1Y3QgdmIyX2J1ZmZlciAq dmIpCj4+ICAgICovCj4+ICAgc3RhdGljIHZvaWQgdmIyX3F1ZXVlX2FkZF9idWZmZXIoc3RydWN0 IHZiMl9xdWV1ZSAqcSwgc3RydWN0IHZiMl9idWZmZXIgKnZiLCB1bnNpZ25lZCBpbnQgaW5kZXgp Cj4+ICAgewo+PiAtCVdBUk5fT04oaW5kZXggPj0gcS0+bWF4X251bV9idWZmZXJzIHx8IHEtPmJ1 ZnNbaW5kZXhdKTsKPj4gKwlXQVJOX09OKGluZGV4ID49IHEtPm1heF9udW1fYnVmZmVycyB8fCB0 ZXN0X2JpdChpbmRleCwgcS0+YnVmc19iaXRtYXApKTsKPj4gICAKPj4gICAJcS0+YnVmc1tpbmRl eF0gPSB2YjsKPj4gICAJdmItPmluZGV4ID0gaW5kZXg7Cj4+ICAgCXZiLT52YjJfcXVldWUgPSBx Owo+PiArCXNldF9iaXQoaW5kZXgsIHEtPmJ1ZnNfYml0bWFwKTsKPj4gICB9Cj4+ICAgCj4+ICAg LyoqCj4+IEBAIC00MjksNiArNDMwLDcgQEAgc3RhdGljIHZvaWQgdmIyX3F1ZXVlX2FkZF9idWZm ZXIoc3RydWN0IHZiMl9xdWV1ZSAqcSwgc3RydWN0IHZiMl9idWZmZXIgKnZiLCB1bnMKPj4gICAg Ki8KPj4gICBzdGF0aWMgdm9pZCB2YjJfcXVldWVfcmVtb3ZlX2J1ZmZlcihzdHJ1Y3QgdmIyX2J1 ZmZlciAqdmIpCj4+ICAgewo+PiArCWNsZWFyX2JpdCh2Yi0+aW5kZXgsIHZiLT52YjJfcXVldWUt PmJ1ZnNfYml0bWFwKTsKPj4gICAJdmItPnZiMl9xdWV1ZS0+YnVmc1t2Yi0+aW5kZXhdID0gTlVM TDsKPj4gICAJdmItPnZiMl9xdWV1ZSA9IE5VTEw7Cj4+ICAgfQo+PiBAQCAtNDUwLDExICs0NTIs MTIgQEAgc3RhdGljIGludCBfX3ZiMl9xdWV1ZV9hbGxvYyhzdHJ1Y3QgdmIyX3F1ZXVlICpxLCBl bnVtIHZiMl9tZW1vcnkgbWVtb3J5LAo+PiAgIAl1bnNpZ25lZCBsb25nIGluZGV4Owo+PiAgIAlp bnQgcmV0Owo+PiAgIAo+PiAtCS8qIEVuc3VyZSB0aGF0IHRoZSBudW1iZXIgb2YgYWxyZWFkeSBx dWV1ZSArIG51bV9idWZmZXJzIGlzIGJlbG93IHEtPm1heF9udW1fYnVmZmVycyAqLwo+PiArCS8q IEVuc3VyZSB0aGF0IHZiMl9nZXRfbnVtX2J1ZmZlcnMocSkgKyBudW1fYnVmZmVycyBpcyBubyBt b3JlIHRoYW4gcS0+bWF4X251bV9idWZmZXJzICovCj4+ICAgCW51bV9idWZmZXJzID0gbWluX3Qo dW5zaWduZWQgaW50LCBudW1fYnVmZmVycywKPj4gICAJCQkgICAgcS0+bWF4X251bV9idWZmZXJz IC0gdmIyX2dldF9udW1fYnVmZmVycyhxKSk7Cj4+ICAgCj4+IC0JaW5kZXggPSB2YjJfZ2V0X251 bV9idWZmZXJzKHEpOwo+PiArCWluZGV4ID0gYml0bWFwX2ZpbmRfbmV4dF96ZXJvX2FyZWEocS0+ YnVmc19iaXRtYXAsIHEtPm1heF9udW1fYnVmZmVycywKPj4gKwkJCQkJICAgMCwgbnVtX2J1ZmZl cnMsIDApOwo+PiAgIAo+PiAgIAkqZmlyc3RfaW5kZXggPSBpbmRleDsKPj4gICAKPj4gQEAgLTY1 Niw3ICs2NTksNiBAQCBzdGF0aWMgdm9pZCBfX3ZiMl9xdWV1ZV9mcmVlKHN0cnVjdCB2YjJfcXVl dWUgKnEsIHVuc2lnbmVkIGludCBidWZmZXJzKQo+PiAgIAkJa2ZyZWUodmIpOwo+PiAgIAl9Cj4+ ICAgCj4+IC0JcS0+bnVtX2J1ZmZlcnMgLT0gYnVmZmVyczsKPj4gICAJaWYgKCF2YjJfZ2V0X251 bV9idWZmZXJzKHEpKSB7Cj4+ICAgCQlxLT5tZW1vcnkgPSBWQjJfTUVNT1JZX1VOS05PV047Cj4+ ICAgCQlJTklUX0xJU1RfSEVBRCgmcS0+cXVldWVkX2xpc3QpOwo+PiBAQCAtODc0LDYgKzg3Niwx NCBAQCBpbnQgdmIyX2NvcmVfcmVxYnVmcyhzdHJ1Y3QgdmIyX3F1ZXVlICpxLCBlbnVtIHZiMl9t ZW1vcnkgbWVtb3J5LAo+PiAgIAkJcS0+YnVmcyA9IGtjYWxsb2MocS0+bWF4X251bV9idWZmZXJz LCBzaXplb2YoKnEtPmJ1ZnMpLCBHRlBfS0VSTkVMKTsKPj4gICAJaWYgKCFxLT5idWZzKQo+PiAg IAkJcmV0ID0gLUVOT01FTTsKPj4gKwo+PiArCWlmICghcS0+YnVmc19iaXRtYXApCj4+ICsJCXEt PmJ1ZnNfYml0bWFwID0gYml0bWFwX3phbGxvYyhxLT5tYXhfbnVtX2J1ZmZlcnMsIEdGUF9LRVJO RUwpOwo+PiArCWlmICghcS0+YnVmc19iaXRtYXApIHsKPj4gKwkJcmV0ID0gLUVOT01FTTsKPj4g KwkJa2ZyZWUocS0+YnVmcyk7Cj4+ICsJCXEtPmJ1ZnMgPSBOVUxMOwo+PiArCX0KPj4gICAJcS0+ bWVtb3J5ID0gbWVtb3J5Owo+PiAgIAltdXRleF91bmxvY2soJnEtPm1tYXBfbG9jayk7Cj4+ICAg CWlmIChyZXQpCj4+IEBAIC05NDMsNyArOTUzLDYgQEAgaW50IHZiMl9jb3JlX3JlcWJ1ZnMoc3Ry dWN0IHZiMl9xdWV1ZSAqcSwgZW51bSB2YjJfbWVtb3J5IG1lbW9yeSwKPj4gICAJfQo+PiAgIAo+ PiAgIAltdXRleF9sb2NrKCZxLT5tbWFwX2xvY2spOwo+PiAtCXEtPm51bV9idWZmZXJzID0gYWxs b2NhdGVkX2J1ZmZlcnM7Cj4+ICAgCj4+ICAgCWlmIChyZXQgPCAwKSB7Cj4+ICAgCQkvKgo+PiBA QCAtOTcwLDYgKzk3OSwxMCBAQCBpbnQgdmIyX2NvcmVfcmVxYnVmcyhzdHJ1Y3QgdmIyX3F1ZXVl ICpxLCBlbnVtIHZiMl9tZW1vcnkgbWVtb3J5LAo+PiAgIAltdXRleF9sb2NrKCZxLT5tbWFwX2xv Y2spOwo+PiAgIAlxLT5tZW1vcnkgPSBWQjJfTUVNT1JZX1VOS05PV047Cj4+ICAgCW11dGV4X3Vu bG9jaygmcS0+bW1hcF9sb2NrKTsKPj4gKwlrZnJlZShxLT5idWZzKTsKPj4gKwlxLT5idWZzID0g TlVMTDsKPj4gKwliaXRtYXBfZnJlZShxLT5idWZzX2JpdG1hcCk7Cj4+ICsJcS0+YnVmc19iaXRt YXAgPSBOVUxMOwo+PiAgIAlyZXR1cm4gcmV0Owo+PiAgIH0KPj4gICBFWFBPUlRfU1lNQk9MX0dQ TCh2YjJfY29yZV9yZXFidWZzKTsKPj4gQEAgLTEwMDYsOSArMTAxOSwxOSBAQCBpbnQgdmIyX2Nv cmVfY3JlYXRlX2J1ZnMoc3RydWN0IHZiMl9xdWV1ZSAqcSwgZW51bSB2YjJfbWVtb3J5IG1lbW9y eSwKPj4gICAJCXEtPm1lbW9yeSA9IG1lbW9yeTsKPj4gICAJCWlmICghcS0+YnVmcykKPj4gICAJ CQlxLT5idWZzID0ga2NhbGxvYyhxLT5tYXhfbnVtX2J1ZmZlcnMsIHNpemVvZigqcS0+YnVmcyks IEdGUF9LRVJORUwpOwo+PiAtCQlpZiAoIXEtPmJ1ZnMpCj4+ICsJCWlmICghcS0+YnVmcykgewo+ PiAgIAkJCXJldCA9IC1FTk9NRU07Cj4+ICsJCQlnb3RvIHVubG9jazsKPj4gKwkJfQo+PiArCQlp ZiAoIXEtPmJ1ZnNfYml0bWFwKQo+PiArCQkJcS0+YnVmc19iaXRtYXAgPSBiaXRtYXBfemFsbG9j KHEtPm1heF9udW1fYnVmZmVycywgR0ZQX0tFUk5FTCk7Cj4gU2FtZSBhcyB3aXRoIHRoZSBrY2Fs bG9jKCkuIFdoeSBub3QganVzdCBhbGxvY2F0ZSB0aGlzIGluIHRoZSBjb3JlIGNvZGUsCj4gZS5n LiB2YjJfY29yZV9xdWV1ZV9pbml0KCk/Cj4KPiBBY3R1YWxseSwgaXMgaXQgYmVjYXVzZSB3ZSB3 YW50IHRvIGF2b2lkIGFsbG9jYXRpbmcKPiByZXNvdXJjZXMgZWFybHksIGJlZm9yZSB0aGUgbmVl ZCB0byBhY3R1YWxseSB1c2UgdGhlIHZiMiBxdWV1ZT8KPiBJZiBzbywgY291bGQgdGhpcyBnbyB0 byBzb21lIG90aGVyIGNvcmUgZnVuY3Rpb24gdGhhdCBydW5zIGxhdGVyLCBlLmcuIF9fdmIyX3F1 ZXVlX2FsbG9jKCk/CgpGb3IgdGhlIHNhbWUgcmVhc29uIDotKQp2YjJfY29yZV9xdWV1ZV9pbml0 KCkgYW5kIHZiMl9jb3JlX3F1ZXVlX3JlbGVhc2UoKSBhcmVuJ3QgYmFsYW5jZWQgc28gSSBjYW4n dCB1c2UgdGhlbSBmb3IgdGhhdC4KCj4KPj4gKwkJaWYgKCFxLT5idWZzX2JpdG1hcCkgewo+PiAr CQkJcmV0ID0gLUVOT01FTTsKPj4gKwkJCWtmcmVlKHEtPmJ1ZnMpOwo+PiArCQkJcS0+YnVmcyA9 IE5VTEw7Cj4+ICsJCX0KPj4gICAJCW11dGV4X3VubG9jaygmcS0+bW1hcF9sb2NrKTsKPj4gK3Vu bG9jazoKPj4gICAJCWlmIChyZXQpCj4+ICAgCQkJcmV0dXJuIHJldDsKPj4gICAJCXEtPndhaXRp bmdfZm9yX2J1ZmZlcnMgPSAhcS0+aXNfb3V0cHV0Owo+PiBAQCAtMTA3MCw3ICsxMDkzLDYgQEAg aW50IHZiMl9jb3JlX2NyZWF0ZV9idWZzKHN0cnVjdCB2YjJfcXVldWUgKnEsIGVudW0gdmIyX21l bW9yeSBtZW1vcnksCj4+ICAgCX0KPj4gICAKPj4gICAJbXV0ZXhfbG9jaygmcS0+bW1hcF9sb2Nr KTsKPj4gLQlxLT5udW1fYnVmZmVycyArPSBhbGxvY2F0ZWRfYnVmZmVyczsKPj4gICAKPj4gICAJ aWYgKHJldCA8IDApIHsKPj4gICAJCS8qCj4+IEBAIC0yNTQ5LDcgKzI1NzEsOSBAQCB2b2lkIHZi Ml9jb3JlX3F1ZXVlX3JlbGVhc2Uoc3RydWN0IHZiMl9xdWV1ZSAqcSkKPj4gICAJX192YjJfcXVl dWVfZnJlZShxLCBxLT5tYXhfbnVtX2J1ZmZlcnMpOwo+PiAgIAlrZnJlZShxLT5idWZzKTsKPj4g ICAJcS0+YnVmcyA9IE5VTEw7Cj4+IC0JcS0+bnVtX2J1ZmZlcnMgPSAwOwo+PiArCWJpdG1hcF9m cmVlKHEtPmJ1ZnNfYml0bWFwKTsKPj4gKwlxLT5idWZzX2JpdG1hcCA9IE5VTEw7Cj4+ICsKPj4g ICAJbXV0ZXhfdW5sb2NrKCZxLT5tbWFwX2xvY2spOwo+PiAgIH0KPj4gICBFWFBPUlRfU1lNQk9M X0dQTCh2YjJfY29yZV9xdWV1ZV9yZWxlYXNlKTsKPj4gQEAgLTI5MDQsNyArMjkyOCw3IEBAIHN0 YXRpYyBzaXplX3QgX192YjJfcGVyZm9ybV9maWxlaW8oc3RydWN0IHZiMl9xdWV1ZSAqcSwgY2hh ciBfX3VzZXIgKmRhdGEsIHNpemVfCj4+ICAgCSAqIENoZWNrIGlmIHdlIG5lZWQgdG8gZGVxdWV1 ZSB0aGUgYnVmZmVyLgo+PiAgIAkgKi8KPj4gICAJaW5kZXggPSBmaWxlaW8tPmN1cl9pbmRleDsK Pj4gLQlpZiAoaW5kZXggPj0gcS0+bnVtX2J1ZmZlcnMpIHsKPj4gKwlpZiAoIXRlc3RfYml0KGlu ZGV4LCBxLT5idWZzX2JpdG1hcCkpIHsKPiBJIGRvbid0IGxpa2UgdGhpcyBsb3cgbGV2ZWwgbWFu aXB1bGF0aW9uIG9mIHF1ZXVlIGludGVybmFscyBoZXJlIChhZnRlciBhbGwKPiB0aGUgd29yayBv dGhlciBwYXRjaGVzIGRpZCB0byB1c2UgaGVscGVycykuIFdoeSBub3QganVzdCBrZWVwCj4gdmIy X2dldF9udW1fYnVmZmVycygpIGhlcmU/CgpJIHdpbGwgY2hhbmdlIHRoYXQgYW5kIHB1dCBpdCBp biBwYXRjaCA4Cgo+Cj4+ICAgCQlzdHJ1Y3QgdmIyX2J1ZmZlciAqYjsKPj4gICAKPj4gICAJCS8q Cj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL21lZGlhL3ZpZGVvYnVmMi1jb3JlLmggYi9pbmNsdWRl L21lZGlhL3ZpZGVvYnVmMi1jb3JlLmgKPj4gaW5kZXggNjk4NmZmNGI3N2NkLi4yODg0NzcwNzVh MGUgMTAwNjQ0Cj4+IC0tLSBhL2luY2x1ZGUvbWVkaWEvdmlkZW9idWYyLWNvcmUuaAo+PiArKysg Yi9pbmNsdWRlL21lZGlhL3ZpZGVvYnVmMi1jb3JlLmgKPj4gQEAgLTM0Niw3ICszNDYsNyBAQCBz dHJ1Y3QgdmIyX2J1ZmZlciB7Cj4+ICAgICoJCQlkZXNjcmliZXMgdGhlIHJlcXVlc3RlZCBudW1i ZXIgb2YgcGxhbmVzIGFuZCBzaXplc1xbXF0KPj4gICAgKgkJCWNvbnRhaW5zIHRoZSByZXF1ZXN0 ZWQgcGxhbmUgc2l6ZXMuIEluIHRoaXMgY2FzZQo+PiAgICAqCQkJXCpudW1fYnVmZmVycyBhcmUg YmVpbmcgYWxsb2NhdGVkIGFkZGl0aW9uYWxseSB0bwo+PiAtICoJCQlxLT5udW1fYnVmZmVycy4g SWYgZWl0aGVyIFwqbnVtX3BsYW5lcyBvciB0aGUgcmVxdWVzdGVkCj4+ICsgKgkJCXF1ZXVlIGJ1 ZmZlcnMuIElmIGVpdGhlciBcKm51bV9wbGFuZXMgb3IgdGhlIHJlcXVlc3RlZAo+IFBlcmhhcHMg InRoZSBidWZmZXJzIGFscmVhZHkgaW4gdGhlIHF1ZXVlIj8KCm9rCgo+Cj4+ICAgICoJCQlzaXpl cyBhcmUgaW52YWxpZCBjYWxsYmFjayBtdXN0IHJldHVybiAlLUVJTlZBTC4KPj4gICAgKiBAd2Fp dF9wcmVwYXJlOglyZWxlYXNlIGFueSBsb2NrcyB0YWtlbiB3aGlsZSBjYWxsaW5nIHZiMiBmdW5j dGlvbnM7Cj4+ICAgICoJCQlpdCBpcyBjYWxsZWQgYmVmb3JlIGFuIGlvY3RsIG5lZWRzIHRvIHdh aXQgZm9yIGEgbmV3Cj4+IEBAIC01NTcsNyArNTU3LDcgQEAgc3RydWN0IHZiMl9idWZfb3BzIHsK Pj4gICAgKiBAbWVtb3J5OgljdXJyZW50IG1lbW9yeSB0eXBlIHVzZWQKPj4gICAgKiBAZG1hX2Rp cjoJRE1BIG1hcHBpbmcgZGlyZWN0aW9uLgo+PiAgICAqIEBidWZzOgl2aWRlb2J1ZjIgYnVmZmVy IHN0cnVjdHVyZXMKPj4gLSAqIEBudW1fYnVmZmVyczogbnVtYmVyIG9mIGFsbG9jYXRlZC91c2Vk IGJ1ZmZlcnMKPj4gKyAqIEBidWZzX2JpdG1hcDogYml0bWFwIHRvIG1hbmFnZSBidWZzIGVudHJp ZXMuCj4gUGVyaGFwcyAiYml0bWFwIHRyYWNraW5nIHdoZXRoZXIgZWFjaCBidWZzW10gZW50cnkg aXMgdXNlZCI/CgpvawoKPgo+PiAgICAqIEBtYXhfbnVtX2J1ZmZlcnM6IHVwcGVyIGxpbWl0IG9m IG51bWJlciBvZiBhbGxvY2F0ZWQvdXNlZCBidWZmZXJzCj4+ICAgICogQHF1ZXVlZF9saXN0OiBs aXN0IG9mIGJ1ZmZlcnMgY3VycmVudGx5IHF1ZXVlZCBmcm9tIHVzZXJzcGFjZQo+PiAgICAqIEBx dWV1ZWRfY291bnQ6IG51bWJlciBvZiBidWZmZXJzIHF1ZXVlZCBhbmQgcmVhZHkgZm9yIHN0cmVh bWluZy4KPj4gQEAgLTYyMSw3ICs2MjEsNyBAQCBzdHJ1Y3QgdmIyX3F1ZXVlIHsKPj4gICAJdW5z aWduZWQgaW50CQkJbWVtb3J5Owo+PiAgIAllbnVtIGRtYV9kYXRhX2RpcmVjdGlvbgkJZG1hX2Rp cjsKPj4gICAJc3RydWN0IHZiMl9idWZmZXIJCSoqYnVmczsKPj4gLQl1bnNpZ25lZCBpbnQJCQlu dW1fYnVmZmVyczsKPj4gKwl1bnNpZ25lZCBsb25nCQkJKmJ1ZnNfYml0bWFwOwo+PiAgIAl1bnNp Z25lZCBpbnQJCQltYXhfbnVtX2J1ZmZlcnM7Cj4+ICAgCj4+ICAgCXN0cnVjdCBsaXN0X2hlYWQJ CXF1ZXVlZF9saXN0Owo+PiBAQCAtMTE1MCw3ICsxMTUwLDEwIEBAIHN0YXRpYyBpbmxpbmUgYm9v bCB2YjJfZmlsZWlvX2lzX2FjdGl2ZShzdHJ1Y3QgdmIyX3F1ZXVlICpxKQo+PiAgICAqLwo+PiAg IHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IHZiMl9nZXRfbnVtX2J1ZmZlcnMoc3RydWN0IHZi Ml9xdWV1ZSAqcSkKPj4gICB7Cj4+IC0JcmV0dXJuIHEtPm51bV9idWZmZXJzOwo+PiArCWlmICgh cS0+YnVmc19iaXRtYXApCj4+ICsJCXJldHVybiAwOwo+PiArCj4+ICsJcmV0dXJuIGJpdG1hcF93 ZWlnaHQocS0+YnVmc19iaXRtYXAsIHEtPm1heF9udW1fYnVmZmVycyk7Cj4gSG1tLCBjb3VsZCB3 ZSBqdXN0IGNhY2hlIHRoZSBudW1iZXIgb2YgYnVmZmVycyB3ZSBoYXZlLCBzbyB0aGF0IHdlIGRv bid0Cj4gaGF2ZSB0byBnbyBvdmVyIHRoZSBlbnRpcmUgYml0bWFwIGV2ZXJ5IHRpbWU/IChCYXNp Y2FsbHkganVzdCBrZWVwIHRoZQo+IGNvZGUgdGhhdCB3ZSBoYWQgZm9yIGhhbmRsaW5nIHEtPm51 bV9idWZmZXJzIGJlZm9yZSB0aGlzIHBhdGNoLikKCkkgd291bGQgcHJlZmVyIG5vIGR1cGxpY2F0 ZSBob3cgdGhlIG51bWJlciBvZiBidWZmZXJzIGluIGEgcXVldWUgaXMgY29tcHV0ZWQKYW5kIGJp dG1hcCBvZmZlciBoZWxwZXJzIGZvciB0aGF0LiBXaHkgbm90IHVzZSBpdCA/Cgo+Cj4+ICAgfQo+ PiAgIAo+PiAgIC8qKgo+PiBAQCAtMTI1MywxMyArMTI1NiwxMyBAQCBzdGF0aWMgaW5saW5lIHZv aWQgdmIyX2NsZWFyX2xhc3RfYnVmZmVyX2RlcXVldWVkKHN0cnVjdCB2YjJfcXVldWUgKnEpCj4+ ICAgc3RhdGljIGlubGluZSBzdHJ1Y3QgdmIyX2J1ZmZlciAqdmIyX2dldF9idWZmZXIoc3RydWN0 IHZiMl9xdWV1ZSAqcSwKPj4gICAJCQkJCQl1bnNpZ25lZCBpbnQgaW5kZXgpCj4+ICAgewo+PiAt CWlmICghcS0+YnVmcykKPj4gKwlpZiAoIXEtPmJ1ZnNfYml0bWFwKQo+PiAgIAkJcmV0dXJuIE5V TEw7Cj4+ICAgCj4+ICAgCWlmIChpbmRleCA+PSBxLT5tYXhfbnVtX2J1ZmZlcnMpCj4+ICAgCQly ZXR1cm4gTlVMTDsKPj4gICAKPj4gLQlpZiAoaW5kZXggPCBxLT5udW1fYnVmZmVycykKPj4gKwlp ZiAodGVzdF9iaXQoaW5kZXgsIHEtPmJ1ZnNfYml0bWFwKSkKPiBBaGEsIEkgc2VlIHdoeSB3ZSBu ZWVkIHRoZSBleHRyYSBjb25kaXRpb24gYWJvdmUgbm93LiBQZXJoYXBzIGl0IHNob3VsZCd2ZQo+ IGJlZW4gYWRkZWQgaW4gdGhpcyBwYXRjaCBpbnN0ZWFkPwoKRm9yIG1lIGl0IHdhcyBtb3JlIGV4 cGxpY2l0IGRvIGludHJvZHVjZSBpdCBhdCB0aGUgc2FtZSB0aW1lIHRoYXQKbWF4X251bV9idWZm ZXJzIGZpZWxkLgoKUmVnYXJkcywKQmVuamFtaW4KCj4KPj4gICAJCXJldHVybiBxLT5idWZzW2lu ZGV4XTsKPj4gICAJcmV0dXJuIE5VTEw7Cj4+ICAgfQo+PiAtLSAKPj4gMi4zOS4yCj4+Cj4gQmVz dCByZWdhcmRzLAo+IFRvbWFzegoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KTGludXgtcm9ja2NoaXAgbWFpbGluZyBsaXN0CkxpbnV4LXJvY2tjaGlwQGxp c3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0 aW5mby9saW51eC1yb2NrY2hpcAo=