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 3A7A1EB64DC for ; Mon, 26 Jun 2023 07:48:54 +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=Xx350V4VpHt3+N2uAgPfdeZfeQCIoJF3veyqianIQbs=; b=r6SjJx3la5iDW7 4SkNWkv3lrcKPLhI82KdkMzR1+bjdK6fyd80as7YtOp34WaHyimieFE5XBL9KmQPepdNk2qc0RkR2 nGW+h8GT90fFxi7ZlzwZYhpVlnf6S0c4n7635u39DbVxvv/NcRX8M6JdevHzPY9yVjJ3oZI8LRiMv /BJjYq57g93Qo3VTIR1pIKafPfMew8UPPIAZGOzyMi5NqwDn77brqe3D/4GIiXlb0qo4nylM7vdmY E2zx3qz4Ln7AIGQoPxOEO5fAWoaT0pI374EuMTCfjNHW5dbNVxeTQ7helBZ6GG9CLEyp2eGEOox0p LTwozK1mFwYKOigt0wDg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qDgxo-009aCp-0j; Mon, 26 Jun 2023 07:48:44 +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 1qDgxj-009aB2-18; Mon, 26 Jun 2023 07:48:41 +0000 Received: from [IPV6:2a01:e0a:120:3210:960a:2463:3114:4c3a] (unknown [IPv6:2a01:e0a:120:3210:960a:2463:3114:4c3a]) (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 55F0E6607113; Mon, 26 Jun 2023 08:48:35 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1687765715; bh=G/GIgYrmoJj0dG40UwbmNhWWtziwx1kJTwCIfcKa/os=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=DPSJrQaXeeLSwERR2pUdSOSuMx+7/fb5bAJMBR8c9n7bDN58icTSNzWFKa0A1cL2J xxbLPB9dTt4ffUHKAhdhMJqSmOXg9vLr5toQ/at+X8zNBdvOq8pN9dX1BQhYbyCyX+ tx4949AZoGURQ77PNVE9QnU17NWXH4WtaE2yOCaruWTBmMklPW97vTBStMZffJ/L9p di5W9qpTazPRFDOrYR5+Ag4cHP055yTR9eXFl1KH4cCqkA8h/aioMpfbLrX7gmkf13 BlJ0lyfPoOxEmK7qxFR6EVvkIfQyW+a5U/TLRIzP0IOsubqTfnfPX3J+59sntvumwM L9ThGrQ8AEPzg== Message-ID: Date: Mon, 26 Jun 2023 09:48:33 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 Subject: Re: [EXT] [PATCH v3 10/11] media: v4l2: Add DELETE_BUF ioctl To: Ming Qian , "mchehab@kernel.org" , "tfiga@chromium.org" , "m.szyprowski@samsung.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: <20230622131349.144160-1-benjamin.gaignard@collabora.com> <20230622131349.144160-11-benjamin.gaignard@collabora.com> Content-Language: en-US From: Benjamin Gaignard In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230626_004839_677988_08A84A84 X-CRM114-Status: GOOD ( 32.61 ) 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 CkxlIDI2LzA2LzIwMjMgw6AgMDk6MDgsIE1pbmcgUWlhbiBhIMOpY3JpdMKgOgo+IEhpIEJlbmph bWluLAo+Cj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4+IEZyb206IEJlbmphbWluIEdh aWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBjb2xsYWJvcmEuY29tPgo+PiBTZW50OiAyMDIz5bm0 NuaciDIy5pelIDIxOjE0Cj4+IFRvOiBtY2hlaGFiQGtlcm5lbC5vcmc7IHRmaWdhQGNocm9taXVt Lm9yZzsgbS5zenlwcm93c2tpQHNhbXN1bmcuY29tOwo+PiBNaW5nIFFpYW4gPG1pbmcucWlhbkBu eHAuY29tPjsgZXplcXVpZWxAdmFuZ3VhcmRpYXN1ci5jb20uYXI7Cj4+IHAuemFiZWxAcGVuZ3V0 cm9uaXguZGU7IGdyZWdraEBsaW51eGZvdW5kYXRpb24ub3JnOyBodmVya3VpbC0KPj4gY2lzY29A eHM0YWxsLm5sOyBuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20KPj4gQ2M6IGxpbnV4LW1l ZGlhQHZnZXIua2VybmVsLm9yZzsgbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZzsgbGludXgt YXJtLQo+PiBrZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZzsgbGludXgtbWVkaWF0ZWtAbGlzdHMu aW5mcmFkZWFkLm9yZzsgbGludXgtYXJtLQo+PiBtc21Admdlci5rZXJuZWwub3JnOyBsaW51eC1y b2NrY2hpcEBsaXN0cy5pbmZyYWRlYWQub3JnOyBsaW51eC0KPj4gc3RhZ2luZ0BsaXN0cy5saW51 eC5kZXY7IGtlcm5lbEBjb2xsYWJvcmEuY29tOyBCZW5qYW1pbiBHYWlnbmFyZAo+PiA8YmVuamFt aW4uZ2FpZ25hcmRAY29sbGFib3JhLmNvbT4KPj4gU3ViamVjdDogW0VYVF0gW1BBVENIIHYzIDEw LzExXSBtZWRpYTogdjRsMjogQWRkIERFTEVURV9CVUYgaW9jdGwKPj4KPj4gQ2F1dGlvbjogVGhp cyBpcyBhbiBleHRlcm5hbCBlbWFpbC4gUGxlYXNlIHRha2UgY2FyZSB3aGVuIGNsaWNraW5nIGxp bmtzIG9yCj4+IG9wZW5pbmcgYXR0YWNobWVudHMuIFdoZW4gaW4gZG91YnQsIHJlcG9ydCB0aGUg bWVzc2FnZSB1c2luZyB0aGUgJ1JlcG9ydAo+PiB0aGlzIGVtYWlsJyBidXR0b24KPj4KPj4KPj4g VklESU9DX0RFTEVURV9CVUYgaW9jdGwgYWxsb3dzIHRvIGRlbGV0ZSBhIGJ1ZmZlciBmcm9tIGEg cXVldWUuCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5n YWlnbmFyZEBjb2xsYWJvcmEuY29tPgo+PiAtLS0KPj4gLi4uL3VzZXJzcGFjZS1hcGkvbWVkaWEv djRsL3VzZXItZnVuYy5yc3QgICAgIHwgIDEgKwo+PiAuLi4vbWVkaWEvdjRsL3ZpZGlvYy1kZWxl dGUtYnVmLnJzdCAgICAgICAgICAgfCA1MSArKysrKysrKysrKysrKysrKysrCj4+IC4uLi9tZWRp YS9jb21tb24vdmlkZW9idWYyL3ZpZGVvYnVmMi1jb3JlLmMgICB8IDMzICsrKysrKysrKysrKwo+ PiAuLi4vbWVkaWEvY29tbW9uL3ZpZGVvYnVmMi92aWRlb2J1ZjItdjRsMi5jICAgfCAgNiArKysK Pj4gZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRsMi1kZXYuYyAgICAgICAgICAgIHwgIDEgKwo+ PiBkcml2ZXJzL21lZGlhL3Y0bDItY29yZS92NGwyLWlvY3RsLmMgICAgICAgICAgfCAxMCArKysr Cj4+IGluY2x1ZGUvbWVkaWEvdjRsMi1pb2N0bC5oICAgICAgICAgICAgICAgICAgICB8ICA0ICsr Cj4+IGluY2x1ZGUvbWVkaWEvdmlkZW9idWYyLWNvcmUuaCAgICAgICAgICAgICAgICB8ICA5ICsr KysKPj4gaW5jbHVkZS9tZWRpYS92aWRlb2J1ZjItdjRsMi5oICAgICAgICAgICAgICAgIHwgMTEg KysrKwo+PiBpbmNsdWRlL3VhcGkvbGludXgvdmlkZW9kZXYyLmggICAgICAgICAgICAgICAgfCAg MiArCj4+IDEwIGZpbGVzIGNoYW5nZWQsIDEyOCBpbnNlcnRpb25zKCspCj4+IGNyZWF0ZSBtb2Rl IDEwMDY0NCBEb2N1bWVudGF0aW9uL3VzZXJzcGFjZS1hcGkvbWVkaWEvdjRsL3ZpZGlvYy1kZWxl dGUtCj4+IGJ1Zi5yc3QKPj4KPj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vdXNlcnNwYWNl LWFwaS9tZWRpYS92NGwvdXNlci1mdW5jLnJzdAo+PiBiL0RvY3VtZW50YXRpb24vdXNlcnNwYWNl LWFwaS9tZWRpYS92NGwvdXNlci1mdW5jLnJzdAo+PiBpbmRleCAxNWZmMGJmN2JiZTYuLjhjNzQw MTZlMTJmZCAxMDA2NDQKPj4gLS0tIGEvRG9jdW1lbnRhdGlvbi91c2Vyc3BhY2UtYXBpL21lZGlh L3Y0bC91c2VyLWZ1bmMucnN0Cj4+ICsrKyBiL0RvY3VtZW50YXRpb24vdXNlcnNwYWNlLWFwaS9t ZWRpYS92NGwvdXNlci1mdW5jLnJzdAo+PiBAQCAtMTcsNiArMTcsNyBAQCBGdW5jdGlvbiBSZWZl cmVuY2UKPj4gICAgICB2aWRpb2MtZGJnLWctY2hpcC1pbmZvCj4+ICAgICAgdmlkaW9jLWRiZy1n LXJlZ2lzdGVyCj4+ICAgICAgdmlkaW9jLWRlY29kZXItY21kCj4+ICsgICAgdmlkaW9jLWRlbGV0 ZS1idWYKPj4gICAgICB2aWRpb2MtZHFldmVudAo+PiAgICAgIHZpZGlvYy1kdi10aW1pbmdzLWNh cAo+PiAgICAgIHZpZGlvYy1lbmNvZGVyLWNtZAo+PiBkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlv bi91c2Vyc3BhY2UtYXBpL21lZGlhL3Y0bC92aWRpb2MtZGVsZXRlLWJ1Zi5yc3QKPj4gYi9Eb2N1 bWVudGF0aW9uL3VzZXJzcGFjZS1hcGkvbWVkaWEvdjRsL3ZpZGlvYy1kZWxldGUtYnVmLnJzdAo+ PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLjBlN2NlNThmOTFi Ywo+PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBiL0RvY3VtZW50YXRpb24vdXNlcnNwYWNlLWFwaS9t ZWRpYS92NGwvdmlkaW9jLWRlbGV0ZS1idWYucnN0Cj4+IEBAIC0wLDAgKzEsNTEgQEAKPj4gKy4u IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHRkRMLTEuMS1uby1pbnZhcmlhbnRzLW9yLWxhdGVy IC4uCj4+ICtjOm5hbWVzcGFjZTo6IFY0TAo+PiArCj4+ICsuLiBfVklESU9DX0RFTEVURV9CVUY6 Cj4+ICsKPj4gKyoqKioqKioqKioqKioqKioqKioqKioqKgo+PiAraW9jdGwgVklESU9DX0RFTEVU RV9CVUYKPj4gKyoqKioqKioqKioqKioqKioqKioqKioqKgo+PiArCj4+ICtOYW1lCj4+ICs9PT09 Cj4+ICsKPj4gK1ZJRElPQ19ERUxFVEVfQlVGIC0gRGVsZXRlIGEgYnVmZmVyIGZyb20gYSBxdWV1 ZQo+PiArCj4+ICtTeW5vcHNpcwo+PiArPT09PT09PT0KPj4gKwo+PiArLi4gYzptYWNybzo6IFZJ RElPQ19ERUxFVEVfQlVGCj4+ICsKPj4gK2BgaW50IGlvY3RsKGludCBmZCwgVklESU9DX0RFTEVU RV9CVUYsIHN0cnVjdCB2NGwyX2J1ZmZlciAqYXJncClgYAo+PiArCj4+ICtBcmd1bWVudHMKPj4g Kz09PT09PT09PQo+PiArCj4+ICtgYGZkYGAKPj4gKyAgICBGaWxlIGRlc2NyaXB0b3IgcmV0dXJu ZWQgYnkgOmM6ZnVuYzpgb3BlbigpYC4KPj4gKwo+PiArYGBhcmdwYGAKPj4gKyAgICBQb2ludGVy IHRvIHN0cnVjdCA6Yzp0eXBlOmB2NGwyX2J1ZmZlcmAuCj4+ICsKPj4gK0Rlc2NyaXB0aW9uCj4+ ICs9PT09PT09PT09PQo+PiArCj4+ICtBcHBsaWNhdGlvbnMgY2FuIG9wdGlvbmFsbHkgY2FsbCB0 aGUgOnJlZjpgVklESU9DX0RFTEVURV9CVUZgIGlvY3RsIHRvCj4+ICtkZWxldGUgYSBidWZmZXIg ZnJvbSBhIHF1ZXVlLgo+PiArCj4+ICtUaGUgc3RydWN0IDpjOnR5cGU6YHY0bDJfYnVmZmVyYCBz dHJ1Y3R1cmUgaXMgc3BlY2lmaWVkIGluCj4+ICs6cmVmOmBidWZmZXJgLgo+PiArCj4+ICtSZXR1 cm4gVmFsdWUKPj4gKz09PT09PT09PT09PQo+PiArCj4+ICtPbiBzdWNjZXNzIDAgaXMgcmV0dXJu ZWQsIG9uIGVycm9yIC0xIGFuZCB0aGUgYGBlcnJub2BgIHZhcmlhYmxlIGlzIHNldAo+PiArYXBw cm9wcmlhdGVseS4gVGhlIGdlbmVyaWMgZXJyb3IgY29kZXMgYXJlIGRlc2NyaWJlZCBhdCB0aGUK Pj4gKzpyZWY6YEdlbmVyaWMgRXJyb3IgQ29kZXMgPGdlbi1lcnJvcnM+YCBjaGFwdGVyLgo+PiAr Cj4+ICtFQlVTWQo+PiArICAgIEZpbGUgSS9PIGlzIGluIHByb2dyZXNzLgo+PiArCj4+ICtFSU5W QUwKPj4gKyAgICBUaGUgYnVmZmVyIGBgaW5kZXhgYCBkb2Vzbid0IGV4aXN0IGluIHRoZSBxdWV1 ZS4KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvY29tbW9uL3ZpZGVvYnVmMi92aWRlb2J1 ZjItY29yZS5jCj4+IGIvZHJpdmVycy9tZWRpYS9jb21tb24vdmlkZW9idWYyL3ZpZGVvYnVmMi1j b3JlLmMKPj4gaW5kZXggODk5NzgzZjY3NTgwLi5hYTU0NmM5NzJjM2QgMTAwNjQ0Cj4+IC0tLSBh L2RyaXZlcnMvbWVkaWEvY29tbW9uL3ZpZGVvYnVmMi92aWRlb2J1ZjItY29yZS5jCj4+ICsrKyBi L2RyaXZlcnMvbWVkaWEvY29tbW9uL3ZpZGVvYnVmMi92aWRlb2J1ZjItY29yZS5jCj4+IEBAIC0x NjM3LDYgKzE2MzcsMzkgQEAgaW50IHZiMl9jb3JlX3ByZXBhcmVfYnVmKHN0cnVjdCB2YjJfcXVl dWUgKnEsCj4+IHVuc2lnbmVkIGludCBpbmRleCwgdm9pZCAqcGIpICB9Cj4+IEVYUE9SVF9TWU1C T0xfR1BMKHZiMl9jb3JlX3ByZXBhcmVfYnVmKTsKPj4KPj4gK2ludCB2YjJfY29yZV9kZWxldGVf YnVmKHN0cnVjdCB2YjJfcXVldWUgKnEsIHVuc2lnbmVkIGludCBpbmRleCkgewo+PiArICAgICAg IHN0cnVjdCB2YjJfYnVmZmVyICp2YjsKPj4gKwo+PiArICAgICAgIHZiID0gdmIyX2dldF9idWZm ZXIocSwgaW5kZXgpOwo+PiArICAgICAgIGlmICghdmIpIHsKPj4gKyAgICAgICAgICAgICAgIGRw cmludGsocSwgMSwgImludmFsaWQgYnVmZmVyIGluZGV4ICVkXG4iLCBpbmRleCk7Cj4+ICsgICAg ICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKPj4gKyAgICAgICB9Cj4+ICsKPj4gKyAgICAgICBp ZiAodmItPnN0YXRlICE9IFZCMl9CVUZfU1RBVEVfREVRVUVVRUQpIHsKPj4gKyAgICAgICAgICAg ICAgIGRwcmludGsocSwgMSwgImNhbid0IGRlbGV0ZSBub24gZGVxdWV1ZWQgYnVmZmVyIGluZGV4 ICVkXG4iLCBpbmRleCk7Cj4+ICsgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKPj4gKyAg ICAgICB9Cj4+ICsKPj4gKyAgICAgICBpZiAodmItPnBsYW5lc1swXS5tZW1fcHJpdikKPj4gKyAg ICAgICAgICAgICAgIGNhbGxfdm9pZF92Yl9xb3AodmIsIGJ1Zl9jbGVhbnVwLCB2Yik7Cj4+ICsK Pj4gKyAgICAgICAvKiBGcmVlIE1NQVAgYnVmZmVycyBvciByZWxlYXNlIFVTRVJQVFIgYnVmZmVy cyAqLwo+PiArICAgICAgIGlmIChxLT5tZW1vcnkgPT0gVkIyX01FTU9SWV9NTUFQKQo+PiArICAg ICAgICAgICAgICAgX192YjJfYnVmX21lbV9mcmVlKHZiKTsKPj4gKyAgICAgICBlbHNlIGlmIChx LT5tZW1vcnkgPT0gVkIyX01FTU9SWV9ETUFCVUYpCj4+ICsgICAgICAgICAgICAgICBfX3ZiMl9i dWZfZG1hYnVmX3B1dCh2Yik7Cj4+ICsgICAgICAgZWxzZQo+PiArICAgICAgICAgICAgICAgX192 YjJfYnVmX3VzZXJwdHJfcHV0KHZiKTsKPj4gKwo+PiArICAgICAgIHZiMl9xdWV1ZV9yZW1vdmVf YnVmZmVyKHEsIHZiKTsKPj4gKyAgICAgICBrZnJlZSh2Yik7Cj4gVGhlIG51bV9idWZmZXJzIGlz IG5vdCBjaGFuZ2VkLCBJcyB0aGF0IG9uIHB1cnBvc2U/Cj4gbnVtX2J1ZmZlcnMgZG9lc24ndCBt ZWFuIHRoZSBudW1iZXIgb2YgdmIyIGJ1ZmZlcnMsICBidXQgb25seSBkZWNpZGVzIHRoZSBtYXgg aW5kZXggb2YgYWxsb2NhdGVkIHZiMiBidWZmZXI/Cj4gT25jZSB0aGUgaW5kZXggaXMgZGVsZXRl ZCwgdGhlbiBpdCB3b24ndCBiZSB1c2VkIGFueW1vcmUsIHVubGVzcyBmcmVlIHRoZSB2YjIgcXVl dWU/IGlzIGl0IGEgaG9sZSBpbiB2YjIgcXVldWU/CgpZZXMgbnVtX2J1ZmZlcnMgaXNuJ3QgY2hh bmdlIGFuZCBzdGlsbCByZXByZXNlbnQgdGhlIGhpZ2hlc3QgaW5kZXggb2YgYWxsb2NhdGVkIGJ1 ZmZlci4KREVMRVRFX0JVRiByZW1vdmUgdGhlIGJ1ZmZlciBmcm9tIHRoZSBsaXN0IGFuZCBmcmVl IHRoZSBtZW1vcnkuClRoYXQgY291bGQgYSBjcmVhdGUgYSBob2xlIGluIHZiMiBxdWV1ZSwgdGhh dCB3aHkgdGhlIGZpcnN0IHBhdGNoIG9mIHRoaXMgc2VyaWVzIGNoYW5nZQphbGwgcGxhY2VzIHdo ZXJlIHZiMiBxdWV1ZSBhcnJheSB3YXMgdXNlZCBieSBjYWxscyB0byBoZWxwZXJzIGZ1bmN0aW9u IGFuZCBhbHNvIGNoZWNrIHRoZSByZXR1cm4gdmFsdWUuCm51bV9idWZmZXJzIGlzIHVzZWQgYXMg dGhlIGxvd2VzdCBwb3NzaWJsZSB2YWx1ZSB3aGVuIGZpbmRpbmcgdGhlIGZyZWUgaW5kZXhlcyBm b3IgYnVmZmVycyAoc2VlIHZiMl9xdWV1ZV9hZGRfYnVmZmVyKCkpCnRoaXMgd2F5IEkgY2FuIGd1 YXJhbnR5IHRoYXQgdGhlIGluZGV4ZXMgYSBjb250aW51b3VzIHdoaWNoIGlzIGEgcmVxdWlyZW1l bnQgZm9yIGNyZWF0ZV9idWZzLgpJIGNob29zZSB0aGlzIHNvbHV0aW9uIGJlY2F1c2UgWEFycmF5 IEFQSSBkb2Vzbid0IG9mZmVyIHdheSB0byBmaW5kIGNvbnRpbnVvdXMgZnJlZSByYW5nZS4KSXQg ZG9lc24ndCBzZWVtIGltcG9zc2libGUgdG8gYWRkIGl0IGJ1dCB0aGlzIHNlcmllcyBpcyBhbHJl YWR5IGJpZyBlbm91Z2ggZnJvbSBteSBwb2ludCBvZiB2aWV3LgoKUmVnYXJkcywKQmVuamFtaW4K Cj4KPiBBbmQgeW91IGNhbiB1c2UgeGFfZm9yX2VhY2goKSBpbnN0ZWFkIHRoZSBmb3IgbG9vcCB0 byBpdGVyYXRlIG92ZXIgdGhlIHByZXNlbnQgYnVmZmVycyBpbiB2YjIgcXVldWUuCj4KPj4gKwo+ PiArICAgICAgIGRwcmludGsocSwgMiwgImJ1ZmZlciAlZCBkZWxldGVkXG4iLCBpbmRleCk7Cj4+ ICsgICAgICAgcmV0dXJuIDA7Cj4+ICt9Cj4+ICsKPj4gLyoKPj4gICAqIHZiMl9zdGFydF9zdHJl YW1pbmcoKSAtIEF0dGVtcHQgdG8gc3RhcnQgc3RyZWFtaW5nLgo+PiAgICogQHE6ICAgICAgICAg dmlkZW9idWYyIHF1ZXVlCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2NvbW1vbi92aWRl b2J1ZjIvdmlkZW9idWYyLXY0bDIuYwo+PiBiL2RyaXZlcnMvbWVkaWEvY29tbW9uL3ZpZGVvYnVm Mi92aWRlb2J1ZjItdjRsMi5jCj4+IGluZGV4IDcyNDEzNWQ0MWY3Zi4uY2VhNjY2YzE3YjQxIDEw MDY0NAo+PiAtLS0gYS9kcml2ZXJzL21lZGlhL2NvbW1vbi92aWRlb2J1ZjIvdmlkZW9idWYyLXY0 bDIuYwo+PiArKysgYi9kcml2ZXJzL21lZGlhL2NvbW1vbi92aWRlb2J1ZjIvdmlkZW9idWYyLXY0 bDIuYwo+PiBAQCAtNzUxLDYgKzc1MSwxMiBAQCBpbnQgdmIyX3ByZXBhcmVfYnVmKHN0cnVjdCB2 YjJfcXVldWUgKnEsIHN0cnVjdAo+PiBtZWRpYV9kZXZpY2UgKm1kZXYsICB9ICBFWFBPUlRfU1lN Qk9MX0dQTCh2YjJfcHJlcGFyZV9idWYpOwo+Pgo+PiAraW50IHZiMl9kZWxldGVfYnVmKHN0cnVj dCB2YjJfcXVldWUgKnEsIHN0cnVjdCB2NGwyX2J1ZmZlciAqYikgewo+PiArICAgICAgIHJldHVy biB2YjJfY29yZV9kZWxldGVfYnVmKHEsIGItPmluZGV4KTsgfQo+PiArRVhQT1JUX1NZTUJPTF9H UEwodmIyX2RlbGV0ZV9idWYpOwo+PiArCj4+IGludCB2YjJfY3JlYXRlX2J1ZnMoc3RydWN0IHZi Ml9xdWV1ZSAqcSwgc3RydWN0IHY0bDJfY3JlYXRlX2J1ZmZlcnMgKmNyZWF0ZSkKPj4gewo+PiAg ICAgICAgIHVuc2lnbmVkIHJlcXVlc3RlZF9wbGFuZXMgPSAxOwo+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9tZWRpYS92NGwyLWNvcmUvdjRsMi1kZXYuYyBiL2RyaXZlcnMvbWVkaWEvdjRsMi0KPj4g Y29yZS92NGwyLWRldi5jCj4+IGluZGV4IGY4MTI3OTQ5MjY4Mi4uODBhY2UyZTFlOTMyIDEwMDY0 NAo+PiAtLS0gYS9kcml2ZXJzL21lZGlhL3Y0bDItY29yZS92NGwyLWRldi5jCj4+ICsrKyBiL2Ry aXZlcnMvbWVkaWEvdjRsMi1jb3JlL3Y0bDItZGV2LmMKPj4gQEAgLTcyMCw2ICs3MjAsNyBAQCBz dGF0aWMgdm9pZCBkZXRlcm1pbmVfdmFsaWRfaW9jdGxzKHN0cnVjdCB2aWRlb19kZXZpY2UKPj4g KnZkZXYpCj4+ICAgICAgICAgICAgICAgICBTRVRfVkFMSURfSU9DVEwob3BzLCBWSURJT0NfUFJF UEFSRV9CVUYsIHZpZGlvY19wcmVwYXJlX2J1Zik7Cj4+ICAgICAgICAgICAgICAgICBTRVRfVkFM SURfSU9DVEwob3BzLCBWSURJT0NfU1RSRUFNT04sIHZpZGlvY19zdHJlYW1vbik7Cj4+ICAgICAg ICAgICAgICAgICBTRVRfVkFMSURfSU9DVEwob3BzLCBWSURJT0NfU1RSRUFNT0ZGLCB2aWRpb2Nf c3RyZWFtb2ZmKTsKPj4gKyAgICAgICAgICAgICAgIFNFVF9WQUxJRF9JT0NUTChvcHMsIFZJRElP Q19ERUxFVEVfQlVGLAo+PiArIHZpZGlvY19kZWxldGVfYnVmKTsKPj4gICAgICAgICB9Cj4+Cj4+ ICAgICAgICAgaWYgKGlzX3ZpZCB8fCBpc192YmkgfHwgaXNfbWV0YSkgeyBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRsMi0KPj4gaW9jdGwuYyBiL2RyaXZlcnMvbWVkaWEv djRsMi1jb3JlL3Y0bDItaW9jdGwuYwo+PiBpbmRleCBhODU4YWNlYTY1NDcuLjFjNzM3Mjc5ZDNl ZiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRsMi1pb2N0bC5jCj4+ ICsrKyBiL2RyaXZlcnMvbWVkaWEvdjRsMi1jb3JlL3Y0bDItaW9jdGwuYwo+PiBAQCAtMjE1Niw2 ICsyMTU2LDE1IEBAIHN0YXRpYyBpbnQgdjRsX3ByZXBhcmVfYnVmKGNvbnN0IHN0cnVjdAo+PiB2 NGwyX2lvY3RsX29wcyAqb3BzLAo+PiAgICAgICAgIHJldHVybiByZXQgPyByZXQgOiBvcHMtPnZp ZGlvY19wcmVwYXJlX2J1ZihmaWxlLCBmaCwgYik7ICB9Cj4+Cj4+ICtzdGF0aWMgaW50IHY0bF9k ZWxldGVfYnVmKGNvbnN0IHN0cnVjdCB2NGwyX2lvY3RsX29wcyAqb3BzLAo+PiArICAgICAgICAg ICAgICAgICAgICAgICAgIHN0cnVjdCBmaWxlICpmaWxlLCB2b2lkICpmaCwgdm9pZCAqYXJnKSB7 Cj4+ICsgICAgICAgc3RydWN0IHY0bDJfYnVmZmVyICpiID0gYXJnOwo+PiArICAgICAgIGludCBy ZXQgPSBjaGVja19mbXQoZmlsZSwgYi0+dHlwZSk7Cj4+ICsKPj4gKyAgICAgICByZXR1cm4gcmV0 ID8gcmV0IDogb3BzLT52aWRpb2NfZGVsZXRlX2J1ZihmaWxlLCBmaCwgYik7IH0KPj4gKwo+PiBz dGF0aWMgaW50IHY0bF9nX3Bhcm0oY29uc3Qgc3RydWN0IHY0bDJfaW9jdGxfb3BzICpvcHMsCj4+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGZpbGUgKmZpbGUsIHZvaWQg KmZoLCB2b2lkICphcmcpICB7IEBAIC0yOTA1LDYgKzI5MTQsNwo+PiBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IHY0bDJfaW9jdGxfaW5mbyB2NGwyX2lvY3Rsc1tdID0gewo+PiAgICAgICAgIElPQ1RM X0lORk8oVklESU9DX0VOVU1fRlJFUV9CQU5EUywgdjRsX2VudW1fZnJlcV9iYW5kcywKPj4gdjRs X3ByaW50X2ZyZXFfYmFuZCwgMCksCj4+ICAgICAgICAgSU9DVExfSU5GTyhWSURJT0NfREJHX0df Q0hJUF9JTkZPLCB2NGxfZGJnX2dfY2hpcF9pbmZvLAo+PiB2NGxfcHJpbnRfZGJnX2NoaXBfaW5m bywgSU5GT19GTF9DTEVBUih2NGwyX2RiZ19jaGlwX2luZm8sIG1hdGNoKSksCj4+ICAgICAgICAg SU9DVExfSU5GTyhWSURJT0NfUVVFUllfRVhUX0NUUkwsIHY0bF9xdWVyeV9leHRfY3RybCwKPj4g djRsX3ByaW50X3F1ZXJ5X2V4dF9jdHJsLCBJTkZPX0ZMX0NUUkwgfCBJTkZPX0ZMX0NMRUFSKHY0 bDJfcXVlcnlfZXh0X2N0cmwsCj4+IGlkKSksCj4+ICsgICAgICAgSU9DVExfSU5GTyhWSURJT0Nf REVMRVRFX0JVRiwgdjRsX2RlbGV0ZV9idWYsIHY0bF9wcmludF9idWZmZXIsCj4+ICsgSU5GT19G TF9RVUVVRSksCj4+IH07Cj4+ICNkZWZpbmUgVjRMMl9JT0NUTFMgQVJSQVlfU0laRSh2NGwyX2lv Y3RscykKPj4KPj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvbWVkaWEvdjRsMi1pb2N0bC5oIGIvaW5j bHVkZS9tZWRpYS92NGwyLWlvY3RsLmggaW5kZXgKPj4gZWRiNzMzZjIxNjA0Li4yZjIzMmVkODg0 YzcgMTAwNjQ0Cj4+IC0tLSBhL2luY2x1ZGUvbWVkaWEvdjRsMi1pb2N0bC5oCj4+ICsrKyBiL2lu Y2x1ZGUvbWVkaWEvdjRsMi1pb2N0bC5oCj4+IEBAIC0xNjMsNiArMTYzLDggQEAgc3RydWN0IHY0 bDJfZmg7Cj4+ICAgKiAgICAgOnJlZjpgVklESU9DX0NSRUFURV9CVUZTIDx2aWRpb2NfY3JlYXRl X2J1ZnM+YCBpb2N0bAo+PiAgICogQHZpZGlvY19wcmVwYXJlX2J1ZjogcG9pbnRlciB0byB0aGUg ZnVuY3Rpb24gdGhhdCBpbXBsZW1lbnRzCj4+ICAgKiAgICAgOnJlZjpgVklESU9DX1BSRVBBUkVf QlVGIDx2aWRpb2NfcHJlcGFyZV9idWY+YCBpb2N0bAo+PiArICogQHZpZGlvY19kZWxldGVfYnVm OiBwb2ludGVyIHRvIHRoZSBmdW5jdGlvbiB0aGF0IGltcGxlbWVudHMKPj4gKyAqICAgICA6cmVm OmBWSURJT0NfREVMRVRFX0JVRiA8dmlkaW9jX2RlbGV0ZV9idWY+YCBpb2N0bAo+PiAgICogQHZp ZGlvY19vdmVybGF5OiBwb2ludGVyIHRvIHRoZSBmdW5jdGlvbiB0aGF0IGltcGxlbWVudHMKPj4g ICAqICAgICA6cmVmOmBWSURJT0NfT1ZFUkxBWSA8dmlkaW9jX292ZXJsYXk+YCBpb2N0bAo+PiAg ICogQHZpZGlvY19nX2ZidWY6IHBvaW50ZXIgdG8gdGhlIGZ1bmN0aW9uIHRoYXQgaW1wbGVtZW50 cyBAQCAtNDIyLDYgKzQyNCw4Cj4+IEBAIHN0cnVjdCB2NGwyX2lvY3RsX29wcyB7Cj4+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdjRsMl9jcmVhdGVfYnVmZmVycyAq Yik7Cj4+ICAgICAgICAgaW50ICgqdmlkaW9jX3ByZXBhcmVfYnVmKShzdHJ1Y3QgZmlsZSAqZmls ZSwgdm9pZCAqZmgsCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qg djRsMl9idWZmZXIgKmIpOwo+PiArICAgICAgIGludCAoKnZpZGlvY19kZWxldGVfYnVmKShzdHJ1 Y3QgZmlsZSAqZmlsZSwgdm9pZCAqZmgsCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHN0cnVjdCB2NGwyX2J1ZmZlciAqYik7Cj4+Cj4+ICAgICAgICAgaW50ICgqdmlkaW9jX292 ZXJsYXkpKHN0cnVjdCBmaWxlICpmaWxlLCB2b2lkICpmaCwgdW5zaWduZWQgaW50IGkpOwo+PiAg ICAgICAgIGludCAoKnZpZGlvY19nX2ZidWYpKHN0cnVjdCBmaWxlICpmaWxlLCB2b2lkICpmaCwg ZGlmZiAtLWdpdAo+PiBhL2luY2x1ZGUvbWVkaWEvdmlkZW9idWYyLWNvcmUuaCBiL2luY2x1ZGUv bWVkaWEvdmlkZW9idWYyLWNvcmUuaCBpbmRleAo+PiAwODBiNzgzZDYwOGQuLjBmOWU2OGY3NmI3 NyAxMDA2NDQKPj4gLS0tIGEvaW5jbHVkZS9tZWRpYS92aWRlb2J1ZjItY29yZS5oCj4+ICsrKyBi L2luY2x1ZGUvbWVkaWEvdmlkZW9idWYyLWNvcmUuaAo+PiBAQCAtODQwLDYgKzg0MCwxNSBAQCBp bnQgdmIyX2NvcmVfY3JlYXRlX2J1ZnMoc3RydWN0IHZiMl9xdWV1ZSAqcSwKPj4gZW51bSB2YjJf bWVtb3J5IG1lbW9yeSwKPj4gICAqLwo+PiBpbnQgdmIyX2NvcmVfcHJlcGFyZV9idWYoc3RydWN0 IHZiMl9xdWV1ZSAqcSwgdW5zaWduZWQgaW50IGluZGV4LCB2b2lkICpwYik7Cj4+Cj4+ICsvKioK Pj4gKyAqIHZiMl9jb3JlX2RlbGV0ZV9idWYoKSAtCj4+ICsgKiBAcTogcG9pbnRlciB0byAmc3Ry dWN0IHZiMl9xdWV1ZSB3aXRoIHZpZGVvYnVmMiBxdWV1ZS4KPj4gKyAqIEBpbmRleDogICAgIGlk IG51bWJlciBvZiB0aGUgYnVmZmVyLgo+PiArICoKPj4gKyAqICBSZXR1cm46IHJldHVybnMgemVy byBvbiBzdWNjZXNzOyBhbiBlcnJvciBjb2RlIG90aGVyd2lzZS4KPj4gKyAqLwo+PiAraW50IHZi Ml9jb3JlX2RlbGV0ZV9idWYoc3RydWN0IHZiMl9xdWV1ZSAqcSwgdW5zaWduZWQgaW50IGluZGV4 KTsKPj4gKwo+PiAvKioKPj4gICAqIHZiMl9jb3JlX3FidWYoKSAtIFF1ZXVlIGEgYnVmZmVyIGZy b20gdXNlcnNwYWNlCj4+ICAgKgo+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9tZWRpYS92aWRlb2J1 ZjItdjRsMi5oIGIvaW5jbHVkZS9tZWRpYS92aWRlb2J1ZjItdjRsMi5oCj4+IGluZGV4IDg4YTdh NTY1MTcwZS4uM2JlZWI0YzczNWYwIDEwMDY0NAo+PiAtLS0gYS9pbmNsdWRlL21lZGlhL3ZpZGVv YnVmMi12NGwyLmgKPj4gKysrIGIvaW5jbHVkZS9tZWRpYS92aWRlb2J1ZjItdjRsMi5oCj4+IEBA IC0xMTQsNiArMTE0LDE3IEBAIGludCB2YjJfY3JlYXRlX2J1ZnMoc3RydWN0IHZiMl9xdWV1ZSAq cSwgc3RydWN0Cj4+IHY0bDJfY3JlYXRlX2J1ZmZlcnMgKmNyZWF0ZSk7Cj4+ICAgKi8KPj4gaW50 IHZiMl9wcmVwYXJlX2J1ZihzdHJ1Y3QgdmIyX3F1ZXVlICpxLCBzdHJ1Y3QgbWVkaWFfZGV2aWNl ICptZGV2LAo+PiAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2NGwyX2J1ZmZlciAqYik7Cj4+ ICsvKioKPj4gKyAqIHZiMl9kZWxldGVfYnVmKCkgLSBEZWxldGUgdGhlIGJ1ZmZlciBmcm9tIHRo ZSBxdWV1ZQo+PiArICoKPj4gKyAqIEBxOiAgICAgICAgIHBvaW50ZXIgdG8gJnN0cnVjdCB2YjJf cXVldWUgd2l0aCB2aWRlb2J1ZjIgcXVldWUuCj4+ICsgKiBAYjogICAgICAgICBidWZmZXIgc3Ry dWN0dXJlIHBhc3NlZCBmcm9tIHVzZXJzcGFjZSB0bwo+PiArICogICAgICAgICAgICAgJnY0bDJf aW9jdGxfb3BzLT52aWRpb2NfZGVsZXRlX2J1ZiBoYW5kbGVyIGluIGRyaXZlcgo+PiArICoKPj4g KyAqIFRoZSByZXR1cm4gdmFsdWVzIGZyb20gdGhpcyBmdW5jdGlvbiBhcmUgaW50ZW5kZWQgdG8g YmUgZGlyZWN0bHkKPj4gK3JldHVybmVkCj4+ICsgKiBmcm9tICZ2NGwyX2lvY3RsX29wcy0+dmlk aW9jX2RlbGV0ZV9idWYgaGFuZGxlciBpbiBkcml2ZXIuCj4+ICsgKi8KPj4gK2ludCB2YjJfZGVs ZXRlX2J1ZihzdHJ1Y3QgdmIyX3F1ZXVlICpxLCBzdHJ1Y3QgdjRsMl9idWZmZXIgKmIpOwo+Pgo+ PiAvKioKPj4gICAqIHZiMl9xYnVmKCkgLSBRdWV1ZSBhIGJ1ZmZlciBmcm9tIHVzZXJzcGFjZSBk aWZmIC0tZ2l0Cj4+IGEvaW5jbHVkZS91YXBpL2xpbnV4L3ZpZGVvZGV2Mi5oIGIvaW5jbHVkZS91 YXBpL2xpbnV4L3ZpZGVvZGV2Mi5oIGluZGV4Cj4+IGFlZTc1ZWI5ZTY4Ni4uMzFiYmExOTE1NjQy IDEwMDY0NAo+PiAtLS0gYS9pbmNsdWRlL3VhcGkvbGludXgvdmlkZW9kZXYyLmgKPj4gKysrIGIv aW5jbHVkZS91YXBpL2xpbnV4L3ZpZGVvZGV2Mi5oCj4+IEBAIC0yNzAyLDYgKzI3MDIsOCBAQCBz dHJ1Y3QgdjRsMl9jcmVhdGVfYnVmZmVycyB7ICAjZGVmaW5lCj4+IFZJRElPQ19EQkdfR19DSElQ X0lORk8gIF9JT1dSKCdWJywgMTAyLCBzdHJ1Y3QgdjRsMl9kYmdfY2hpcF9pbmZvKQo+Pgo+PiAj ZGVmaW5lIFZJRElPQ19RVUVSWV9FWFRfQ1RSTCAgX0lPV1IoJ1YnLCAxMDMsIHN0cnVjdCB2NGwy X3F1ZXJ5X2V4dF9jdHJsKQo+PiArI2RlZmluZSBWSURJT0NfREVMRVRFX0JVRiAgICAgIF9JT1dS KCdWJywgMTA0LCBzdHJ1Y3QgdjRsMl9idWZmZXIpCj4+ICsKPj4KPj4gLyogUmVtaW5kZXI6IHdo ZW4gYWRkaW5nIG5ldyBpb2N0bHMgcGxlYXNlIGFkZCBzdXBwb3J0IGZvciB0aGVtIHRvCj4+ICAg ICBkcml2ZXJzL21lZGlhL3Y0bDItY29yZS92NGwyLWNvbXBhdC1pb2N0bDMyLmMgYXMgd2VsbCEg Ki8KPj4gLS0KPj4gMi4zOS4yCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpMaW51eC1yb2NrY2hpcCBtYWlsaW5nIGxpc3QKTGludXgtcm9ja2NoaXBAbGlz dHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2xpbnV4LXJvY2tjaGlwCg==