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 B985EEB64DD for ; Tue, 27 Jun 2023 08:43:57 +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=dUcdKIPt8ydqU5bCLgekitejD9e9y9h2x27aji7j77c=; b=LMoxlUUtD2W26y MTPtW+QVHLqtGRca1AVv5/ypjONM6ZE8ZGHiuGBfNgej3sqxgwx/1lVU1fv28j/LQ0NVW5v2ZFsO0 smQUs6EV4LM/OBB08Buhs8tcqTqcBCthbW0MLYWrd9GafIICsKpuI4f0lUftduUNng5fK52EIGECK WvVfcQE30XdidXgau+iH50quBJlfWmOuO5mroVxTPieaKVsBlt0NDCWO0MdIcytbipCJY4pCwxJ4w y8OjpobeCT4zbf9vhvRfxCxVbNjeqwVfqFhNSfoyU/8BpW0k1s3TFC8bJu2bwThrtgvmmKdHmav0G /ho/t2hXa2rhejZZHToQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qE4IZ-00CbEO-1P; Tue, 27 Jun 2023 08:43:43 +0000 Received: from madras.collabora.co.uk ([46.235.227.172]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qE4IU-00CbD5-20; Tue, 27 Jun 2023 08:43:41 +0000 Received: from [IPV6:2a01:e0a:120:3210:8022:d131:505c:c461] (unknown [IPv6:2a01:e0a:120:3210:8022:d131:505c:c461]) (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 E42AA6607102; Tue, 27 Jun 2023 09:43:32 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1687855413; bh=c0PGEBEliqWwx30S7I9VDw4FeXubEDDT0VRtcMq3mEI=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=Z4/6z2ozoJ6Jl1EtqZgNmcrwimmMYr7rTJc+xciE0Ua1byFGV/zhmIflGoiascrY9 kMfOSKFrcCQAxFivNV4kELP4Cf3paLR5eAMxDViTYnBHp3j94HPeWmhLVE0dEGdRNz Xb73mDdspnKz9ZrGEqVoavOGkMEIVdX5JSggaIEpRXxldWTICdQEPzqIp6H98Ve4tK Llg3MhxmYjDgV77ndBuF+/qQI8QhtAYG1vBPbMTxUfAReL27RLQFqWe33Irqt8xWSl 6V+cNTfNOb7oRovU/AM42B8DE2Hcn66nK4s8xMAWgdYe9WSw0DioT3hjx/iG6ks1R/ ykOjVeYz/Ziow== Message-ID: <42a45bad-09c7-ffb6-49cb-29ec0826599d@collabora.com> Date: Tue, 27 Jun 2023 10:43:31 +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: [PATCH v3 10/11] media: v4l2: Add DELETE_BUF ioctl To: Hsia-Jun Li Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, p.zabel@pengutronix.de, ming.qian@nxp.com, hverkuil-cisco@xs4all.nl, gregkh@linuxfoundation.org, ezequiel@vanguardiasur.com.ar, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-rockchip@lists.infradead.org, nicolas.dufresne@collabora.com, linux-staging@lists.linux.dev, kernel@collabora.com, mchehab@kernel.org, tfiga@chromium.org, m.szyprowski@samsung.com References: <20230622131349.144160-1-benjamin.gaignard@collabora.com> <20230622131349.144160-11-benjamin.gaignard@collabora.com> <80a03c29-6f3d-43f1-755c-10f3ae2c2756@synaptics.com> Content-Language: en-US From: Benjamin Gaignard In-Reply-To: <80a03c29-6f3d-43f1-755c-10f3ae2c2756@synaptics.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230627_014339_021114_0818BB7A X-CRM114-Status: GOOD ( 26.94 ) 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 CkxlIDI3LzA2LzIwMjMgw6AgMDk6MzAsIEhzaWEtSnVuIExpIGEgw6ljcml0wqA6Cj4KPiBPbiA2 LzIyLzIzIDIxOjEzLCBCZW5qYW1pbiBHYWlnbmFyZCB3cm90ZToKPj4gQ0FVVElPTjogRW1haWwg b3JpZ2luYXRlZCBleHRlcm5hbGx5LCBkbyBub3QgY2xpY2sgbGlua3Mgb3Igb3BlbiAKPj4gYXR0 YWNobWVudHMgdW5sZXNzIHlvdSByZWNvZ25pemUgdGhlIHNlbmRlciBhbmQga25vdyB0aGUgY29u dGVudCBpcyAKPj4gc2FmZS4KPj4KPj4KPj4gVklESU9DX0RFTEVURV9CVUYgaW9jdGwgYWxsb3dz IHRvIGRlbGV0ZSBhIGJ1ZmZlciBmcm9tIGEgcXVldWUuCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IEJl bmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBjb2xsYWJvcmEuY29tPgo+PiAtLS0K Pj4gwqAgLi4uL3VzZXJzcGFjZS1hcGkvbWVkaWEvdjRsL3VzZXItZnVuYy5yc3TCoMKgwqDCoCB8 wqAgMSArCj4+IMKgIC4uLi9tZWRpYS92NGwvdmlkaW9jLWRlbGV0ZS1idWYucnN0wqDCoMKgwqDC oMKgwqDCoMKgwqAgfCA1MSArKysrKysrKysrKysrKysrKysrCj4+IMKgIC4uLi9tZWRpYS9jb21t b24vdmlkZW9idWYyL3ZpZGVvYnVmMi1jb3JlLmPCoMKgIHwgMzMgKysrKysrKysrKysrCj4+IMKg IC4uLi9tZWRpYS9jb21tb24vdmlkZW9idWYyL3ZpZGVvYnVmMi12NGwyLmPCoMKgIHzCoCA2ICsr Kwo+PiDCoCBkcml2ZXJzL21lZGlhL3Y0bDItY29yZS92NGwyLWRldi5jwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCB8wqAgMSArCj4+IMKgIGRyaXZlcnMvbWVkaWEvdjRsMi1jb3JlL3Y0bDItaW9jdGwu Y8KgwqDCoMKgwqDCoMKgwqDCoCB8IDEwICsrKysKPj4gwqAgaW5jbHVkZS9tZWRpYS92NGwyLWlv Y3RsLmjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgNCArKwo+PiDC oCBpbmNsdWRlL21lZGlhL3ZpZGVvYnVmMi1jb3JlLmjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgfMKgIDkgKysrKwo+PiDCoCBpbmNsdWRlL21lZGlhL3ZpZGVvYnVmMi12NGwyLmjCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAxMSArKysrCj4+IMKgIGluY2x1ZGUvdWFwaS9s aW51eC92aWRlb2RldjIuaMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgMiArCj4+ IMKgIDEwIGZpbGVzIGNoYW5nZWQsIDEyOCBpbnNlcnRpb25zKCspCj4+IMKgIGNyZWF0ZSBtb2Rl IDEwMDY0NCAKPj4gRG9jdW1lbnRhdGlvbi91c2Vyc3BhY2UtYXBpL21lZGlhL3Y0bC92aWRpb2Mt ZGVsZXRlLWJ1Zi5yc3QKPj4KPj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vdXNlcnNwYWNl LWFwaS9tZWRpYS92NGwvdXNlci1mdW5jLnJzdCAKPj4gYi9Eb2N1bWVudGF0aW9uL3VzZXJzcGFj ZS1hcGkvbWVkaWEvdjRsL3VzZXItZnVuYy5yc3QKPj4gaW5kZXggMTVmZjBiZjdiYmU2Li44Yzc0 MDE2ZTEyZmQgMTAwNjQ0Cj4+IC0tLSBhL0RvY3VtZW50YXRpb24vdXNlcnNwYWNlLWFwaS9tZWRp YS92NGwvdXNlci1mdW5jLnJzdAo+PiArKysgYi9Eb2N1bWVudGF0aW9uL3VzZXJzcGFjZS1hcGkv bWVkaWEvdjRsL3VzZXItZnVuYy5yc3QKPj4gQEAgLTE3LDYgKzE3LDcgQEAgRnVuY3Rpb24gUmVm ZXJlbmNlCj4+IMKgwqDCoMKgwqAgdmlkaW9jLWRiZy1nLWNoaXAtaW5mbwo+PiDCoMKgwqDCoMKg IHZpZGlvYy1kYmctZy1yZWdpc3Rlcgo+PiDCoMKgwqDCoMKgIHZpZGlvYy1kZWNvZGVyLWNtZAo+ PiArwqDCoMKgIHZpZGlvYy1kZWxldGUtYnVmCj4+IMKgwqDCoMKgwqAgdmlkaW9jLWRxZXZlbnQK Pj4gwqDCoMKgwqDCoCB2aWRpb2MtZHYtdGltaW5ncy1jYXAKPj4gwqDCoMKgwqDCoCB2aWRpb2Mt ZW5jb2Rlci1jbWQKPj4gZGlmZiAtLWdpdCAKPj4gYS9Eb2N1bWVudGF0aW9uL3VzZXJzcGFjZS1h cGkvbWVkaWEvdjRsL3ZpZGlvYy1kZWxldGUtYnVmLnJzdCAKPj4gYi9Eb2N1bWVudGF0aW9uL3Vz ZXJzcGFjZS1hcGkvbWVkaWEvdjRsL3ZpZGlvYy1kZWxldGUtYnVmLnJzdAo+PiBuZXcgZmlsZSBt b2RlIDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLjBlN2NlNThmOTFiYwo+PiAtLS0gL2Rl di9udWxsCj4+ICsrKyBiL0RvY3VtZW50YXRpb24vdXNlcnNwYWNlLWFwaS9tZWRpYS92NGwvdmlk aW9jLWRlbGV0ZS1idWYucnN0Cj4+IEBAIC0wLDAgKzEsNTEgQEAKPj4gKy4uIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBHRkRMLTEuMS1uby1pbnZhcmlhbnRzLW9yLWxhdGVyCj4+ICsuLiBjOm5h bWVzcGFjZTo6IFY0TAo+PiArCj4+ICsuLiBfVklESU9DX0RFTEVURV9CVUY6Cj4+ICsKPj4gKyoq KioqKioqKioqKioqKioqKioqKioqKgo+PiAraW9jdGwgVklESU9DX0RFTEVURV9CVUYKPj4gKyoq KioqKioqKioqKioqKioqKioqKioqKgo+PiArCj4+ICtOYW1lCj4+ICs9PT09Cj4+ICsKPj4gK1ZJ RElPQ19ERUxFVEVfQlVGIC0gRGVsZXRlIGEgYnVmZmVyIGZyb20gYSBxdWV1ZQo+PiArCj4+ICtT eW5vcHNpcwo+PiArPT09PT09PT0KPj4gKwo+PiArLi4gYzptYWNybzo6IFZJRElPQ19ERUxFVEVf QlVGCj4+ICsKPj4gK2BgaW50IGlvY3RsKGludCBmZCwgVklESU9DX0RFTEVURV9CVUYsIHN0cnVj dCB2NGwyX2J1ZmZlciAqYXJncClgYAo+PiArCj4+ICtBcmd1bWVudHMKPj4gKz09PT09PT09PQo+ PiArCj4+ICtgYGZkYGAKPj4gK8KgwqDCoCBGaWxlIGRlc2NyaXB0b3IgcmV0dXJuZWQgYnkgOmM6 ZnVuYzpgb3BlbigpYC4KPj4gKwo+PiArYGBhcmdwYGAKPj4gK8KgwqDCoCBQb2ludGVyIHRvIHN0 cnVjdCA6Yzp0eXBlOmB2NGwyX2J1ZmZlcmAuCj4+ICsKPj4gK0Rlc2NyaXB0aW9uCj4+ICs9PT09 PT09PT09PQo+PiArCj4+ICtBcHBsaWNhdGlvbnMgY2FuIG9wdGlvbmFsbHkgY2FsbCB0aGUgOnJl ZjpgVklESU9DX0RFTEVURV9CVUZgIGlvY3RsIHRvCj4+ICtkZWxldGUgYSBidWZmZXIgZnJvbSBh IHF1ZXVlLgo+PiArCj4+ICtUaGUgc3RydWN0IDpjOnR5cGU6YHY0bDJfYnVmZmVyYCBzdHJ1Y3R1 cmUgaXMgc3BlY2lmaWVkIGluCj4+ICs6cmVmOmBidWZmZXJgLgo+PiArCj4+ICtSZXR1cm4gVmFs dWUKPj4gKz09PT09PT09PT09PQo+PiArCj4+ICtPbiBzdWNjZXNzIDAgaXMgcmV0dXJuZWQsIG9u IGVycm9yIC0xIGFuZCB0aGUgYGBlcnJub2BgIHZhcmlhYmxlIGlzIHNldAo+PiArYXBwcm9wcmlh dGVseS4gVGhlIGdlbmVyaWMgZXJyb3IgY29kZXMgYXJlIGRlc2NyaWJlZCBhdCB0aGUKPj4gKzpy ZWY6YEdlbmVyaWMgRXJyb3IgQ29kZXMgPGdlbi1lcnJvcnM+YCBjaGFwdGVyLgo+PiArCj4+ICtF QlVTWQo+PiArwqDCoMKgIEZpbGUgSS9PIGlzIGluIHByb2dyZXNzLgo+PiArCj4+ICtFSU5WQUwK Pj4gK8KgwqDCoCBUaGUgYnVmZmVyIGBgaW5kZXhgYCBkb2Vzbid0IGV4aXN0IGluIHRoZSBxdWV1 ZS4KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvY29tbW9uL3ZpZGVvYnVmMi92aWRlb2J1 ZjItY29yZS5jIAo+PiBiL2RyaXZlcnMvbWVkaWEvY29tbW9uL3ZpZGVvYnVmMi92aWRlb2J1ZjIt Y29yZS5jCj4+IGluZGV4IDg5OTc4M2Y2NzU4MC4uYWE1NDZjOTcyYzNkIDEwMDY0NAo+PiAtLS0g YS9kcml2ZXJzL21lZGlhL2NvbW1vbi92aWRlb2J1ZjIvdmlkZW9idWYyLWNvcmUuYwo+PiArKysg Yi9kcml2ZXJzL21lZGlhL2NvbW1vbi92aWRlb2J1ZjIvdmlkZW9idWYyLWNvcmUuYwo+PiBAQCAt MTYzNyw2ICsxNjM3LDM5IEBAIGludCB2YjJfY29yZV9wcmVwYXJlX2J1ZihzdHJ1Y3QgdmIyX3F1 ZXVlICpxLCAKPj4gdW5zaWduZWQgaW50IGluZGV4LCB2b2lkICpwYikKPj4gwqAgfQo+PiDCoCBF WFBPUlRfU1lNQk9MX0dQTCh2YjJfY29yZV9wcmVwYXJlX2J1Zik7Cj4+Cj4+ICtpbnQgdmIyX2Nv cmVfZGVsZXRlX2J1ZihzdHJ1Y3QgdmIyX3F1ZXVlICpxLCB1bnNpZ25lZCBpbnQgaW5kZXgpCj4+ ICt7Cj4+ICvCoMKgwqDCoMKgwqAgc3RydWN0IHZiMl9idWZmZXIgKnZiOwo+PiArCj4+ICvCoMKg wqDCoMKgwqAgdmIgPSB2YjJfZ2V0X2J1ZmZlcihxLCBpbmRleCk7Cj4+ICvCoMKgwqDCoMKgwqAg aWYgKCF2Yikgewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBkcHJpbnRrKHEsIDEs ICJpbnZhbGlkIGJ1ZmZlciBpbmRleCAlZFxuIiwgaW5kZXgpOwo+PiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCByZXR1cm4gLUVJTlZBTDsKPj4gK8KgwqDCoMKgwqDCoCB9Cj4+ICsKPj4g K8KgwqDCoMKgwqDCoCBpZiAodmItPnN0YXRlICE9IFZCMl9CVUZfU1RBVEVfREVRVUVVRUQpIHsK Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZHByaW50ayhxLCAxLCAiY2FuJ3QgZGVs ZXRlIG5vbiBkZXF1ZXVlZCBidWZmZXIgaW5kZXggCj4+ICVkXG4iLCBpbmRleCk7Cj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiAtRUlOVkFMOwo+PiArwqDCoMKgwqDCoMKg IH0KPj4gKwo+IEkga25vdyB0aGUgZHJpdmVyIGNvdWxkIGltcGxlbWVudCBpdHMgb3duIAo+IHY0 bDJfaW9jdGxfb3BzLT52aWRpb2NfZGVsZXRlX2J1ZigpIHRoYXQgY2hlY2sgd2hldGhlciBhIGJ1 ZmZlciBpcyAKPiB1c2VkIGJ5IHRoZSBoYXJkd2FyZSBhcyBhIGZ1dHVyZSByZWZlcmVuY2UgZnJh bWUuCj4gQnV0IEkgdGhpbmsgd2UgbmVlZCBhIGZsYWcgdG8gbGV0IHRoZSB1c2VyIGtub3cgd2hp Y2ggYnVmZmVyIGlzIHN0aWxsIAo+IHVzZWQgYnkgdGhlIGhhcmR3YXJlLgo+IEFsdGVybmF0aXZl IHJlZiBjYXNlIGlzIHNhZmUsIHdlIG9ubHkga25vdyBpdCdzIGV4aXN0aW5nIHdoZW4gaXQgaXMg Cj4gZGVxdWV1ZWQgaW4gY3VycmVudCBWNEwyIGJ1ZmZlciBtZWNoYW5pc20uCj4gV2hpbGUgdGhl IEdvbGRlbiByZWZlcmVuY2UgZnJhbWUsIHN1Y2ggbG9uZyB0ZXJtIHJlZmVyZW5jZSBmcmFtZSBj b3VsZCAKPiBsYXN0IG11Y2ggbG9uZ2VyLgoKSXQgaXMgdXAgdG8gdXNlcmxhbmQgc3RhY2sgdG8g a25vdyBmcmFtZXMgbGlmZSB0aW1lLCBpdCBnb3QgdGhlIGluZm9ybWF0aW9uIGZvciB0aGF0LgoK Pj4gK8KgwqDCoMKgwqDCoCBpZiAodmItPnBsYW5lc1swXS5tZW1fcHJpdikKPj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgY2FsbF92b2lkX3ZiX3FvcCh2YiwgYnVmX2NsZWFudXAsIHZi KTsKPj4gKwo+PiArwqDCoMKgwqDCoMKgIC8qIEZyZWUgTU1BUCBidWZmZXJzIG9yIHJlbGVhc2Ug VVNFUlBUUiBidWZmZXJzICovCj4+ICvCoMKgwqDCoMKgwqAgaWYgKHEtPm1lbW9yeSA9PSBWQjJf TUVNT1JZX01NQVApCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fdmIyX2J1Zl9t ZW1fZnJlZSh2Yik7Cj4+ICvCoMKgwqDCoMKgwqAgZWxzZSBpZiAocS0+bWVtb3J5ID09IFZCMl9N RU1PUllfRE1BQlVGKQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX3ZiMl9idWZf ZG1hYnVmX3B1dCh2Yik7Cj4+ICvCoMKgwqDCoMKgwqAgZWxzZQo+PiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBfX3ZiMl9idWZfdXNlcnB0cl9wdXQodmIpOwo+PiArCj4+ICvCoMKgwqDC oMKgwqAgdmIyX3F1ZXVlX3JlbW92ZV9idWZmZXIocSwgdmIpOwo+PiArwqDCoMKgwqDCoMKgIGtm cmVlKHZiKTsKPj4gKwo+PiArwqDCoMKgwqDCoMKgIGRwcmludGsocSwgMiwgImJ1ZmZlciAlZCBk ZWxldGVkXG4iLCBpbmRleCk7Cj4+ICvCoMKgwqDCoMKgwqAgcmV0dXJuIDA7Cj4+ICt9Cj4+ICsK Pj4gwqAgLyoKPj4gwqDCoCAqIHZiMl9zdGFydF9zdHJlYW1pbmcoKSAtIEF0dGVtcHQgdG8gc3Rh cnQgc3RyZWFtaW5nLgo+PiDCoMKgICogQHE6wqDCoMKgwqDCoMKgwqDCoCB2aWRlb2J1ZjIgcXVl dWUKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvY29tbW9uL3ZpZGVvYnVmMi92aWRlb2J1 ZjItdjRsMi5jIAo+PiBiL2RyaXZlcnMvbWVkaWEvY29tbW9uL3ZpZGVvYnVmMi92aWRlb2J1ZjIt djRsMi5jCj4+IGluZGV4IDcyNDEzNWQ0MWY3Zi4uY2VhNjY2YzE3YjQxIDEwMDY0NAo+PiAtLS0g YS9kcml2ZXJzL21lZGlhL2NvbW1vbi92aWRlb2J1ZjIvdmlkZW9idWYyLXY0bDIuYwo+PiArKysg Yi9kcml2ZXJzL21lZGlhL2NvbW1vbi92aWRlb2J1ZjIvdmlkZW9idWYyLXY0bDIuYwo+PiBAQCAt NzUxLDYgKzc1MSwxMiBAQCBpbnQgdmIyX3ByZXBhcmVfYnVmKHN0cnVjdCB2YjJfcXVldWUgKnEs IHN0cnVjdCAKPj4gbWVkaWFfZGV2aWNlICptZGV2LAo+PiDCoCB9Cj4+IMKgIEVYUE9SVF9TWU1C T0xfR1BMKHZiMl9wcmVwYXJlX2J1Zik7Cj4+Cj4+ICtpbnQgdmIyX2RlbGV0ZV9idWYoc3RydWN0 IHZiMl9xdWV1ZSAqcSwgc3RydWN0IHY0bDJfYnVmZmVyICpiKQo+PiArewo+PiArwqDCoMKgwqDC oMKgIHJldHVybiB2YjJfY29yZV9kZWxldGVfYnVmKHEsIGItPmluZGV4KTsKPj4gK30KPj4gK0VY UE9SVF9TWU1CT0xfR1BMKHZiMl9kZWxldGVfYnVmKTsKPj4gKwo+PiDCoCBpbnQgdmIyX2NyZWF0 ZV9idWZzKHN0cnVjdCB2YjJfcXVldWUgKnEsIHN0cnVjdCB2NGwyX2NyZWF0ZV9idWZmZXJzIAo+ PiAqY3JlYXRlKQo+PiDCoCB7Cj4+IMKgwqDCoMKgwqDCoMKgwqAgdW5zaWduZWQgcmVxdWVzdGVk X3BsYW5lcyA9IDE7Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3Y0bDItY29yZS92NGwy LWRldi5jIAo+PiBiL2RyaXZlcnMvbWVkaWEvdjRsMi1jb3JlL3Y0bDItZGV2LmMKPj4gaW5kZXgg ZjgxMjc5NDkyNjgyLi44MGFjZTJlMWU5MzIgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvbWVkaWEv djRsMi1jb3JlL3Y0bDItZGV2LmMKPj4gKysrIGIvZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRs Mi1kZXYuYwo+PiBAQCAtNzIwLDYgKzcyMCw3IEBAIHN0YXRpYyB2b2lkIGRldGVybWluZV92YWxp ZF9pb2N0bHMoc3RydWN0IAo+PiB2aWRlb19kZXZpY2UgKnZkZXYpCj4+IMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIFNFVF9WQUxJRF9JT0NUTChvcHMsIFZJRElPQ19QUkVQQVJFX0JV RiwgCj4+IHZpZGlvY19wcmVwYXJlX2J1Zik7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIFNFVF9WQUxJRF9JT0NUTChvcHMsIFZJRElPQ19TVFJFQU1PTiwgdmlkaW9jX3N0cmVh bW9uKTsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgU0VUX1ZBTElEX0lPQ1RM KG9wcywgVklESU9DX1NUUkVBTU9GRiwgCj4+IHZpZGlvY19zdHJlYW1vZmYpOwo+PiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBTRVRfVkFMSURfSU9DVEwob3BzLCBWSURJT0NfREVMRVRF X0JVRiwgCj4+IHZpZGlvY19kZWxldGVfYnVmKTsKPj4gwqDCoMKgwqDCoMKgwqDCoCB9Cj4+Cj4+ IMKgwqDCoMKgwqDCoMKgwqAgaWYgKGlzX3ZpZCB8fCBpc192YmkgfHwgaXNfbWV0YSkgewo+PiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRsMi1pb2N0bC5jIAo+PiBiL2Ry aXZlcnMvbWVkaWEvdjRsMi1jb3JlL3Y0bDItaW9jdGwuYwo+PiBpbmRleCBhODU4YWNlYTY1NDcu LjFjNzM3Mjc5ZDNlZiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRs Mi1pb2N0bC5jCj4+ICsrKyBiL2RyaXZlcnMvbWVkaWEvdjRsMi1jb3JlL3Y0bDItaW9jdGwuYwo+ PiBAQCAtMjE1Niw2ICsyMTU2LDE1IEBAIHN0YXRpYyBpbnQgdjRsX3ByZXBhcmVfYnVmKGNvbnN0 IHN0cnVjdCAKPj4gdjRsMl9pb2N0bF9vcHMgKm9wcywKPj4gwqDCoMKgwqDCoMKgwqDCoCByZXR1 cm4gcmV0ID8gcmV0IDogb3BzLT52aWRpb2NfcHJlcGFyZV9idWYoZmlsZSwgZmgsIGIpOwo+PiDC oCB9Cj4+Cj4+ICtzdGF0aWMgaW50IHY0bF9kZWxldGVfYnVmKGNvbnN0IHN0cnVjdCB2NGwyX2lv Y3RsX29wcyAqb3BzLAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHN0cnVjdCBmaWxlICpmaWxlLCB2b2lkICpmaCwgdm9pZCAqYXJnKQo+PiArewo+ PiArwqDCoMKgwqDCoMKgIHN0cnVjdCB2NGwyX2J1ZmZlciAqYiA9IGFyZzsKPj4gK8KgwqDCoMKg wqDCoCBpbnQgcmV0ID0gY2hlY2tfZm10KGZpbGUsIGItPnR5cGUpOwo+PiArCj4+ICvCoMKgwqDC oMKgwqAgcmV0dXJuIHJldCA/IHJldCA6IG9wcy0+dmlkaW9jX2RlbGV0ZV9idWYoZmlsZSwgZmgs IGIpOwo+PiArfQo+PiArCj4+IMKgIHN0YXRpYyBpbnQgdjRsX2dfcGFybShjb25zdCBzdHJ1Y3Qg djRsMl9pb2N0bF9vcHMgKm9wcywKPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgZmlsZSAqZmlsZSwgdm9pZCAq ZmgsIHZvaWQgKmFyZykKPj4gwqAgewo+PiBAQCAtMjkwNSw2ICsyOTE0LDcgQEAgc3RhdGljIGNv bnN0IHN0cnVjdCB2NGwyX2lvY3RsX2luZm8gCj4+IHY0bDJfaW9jdGxzW10gPSB7Cj4+IMKgwqDC oMKgwqDCoMKgwqAgSU9DVExfSU5GTyhWSURJT0NfRU5VTV9GUkVRX0JBTkRTLCB2NGxfZW51bV9m cmVxX2JhbmRzLCAKPj4gdjRsX3ByaW50X2ZyZXFfYmFuZCwgMCksCj4+IMKgwqDCoMKgwqDCoMKg wqAgSU9DVExfSU5GTyhWSURJT0NfREJHX0dfQ0hJUF9JTkZPLCB2NGxfZGJnX2dfY2hpcF9pbmZv LCAKPj4gdjRsX3ByaW50X2RiZ19jaGlwX2luZm8sIElORk9fRkxfQ0xFQVIodjRsMl9kYmdfY2hp cF9pbmZvLCBtYXRjaCkpLAo+PiDCoMKgwqDCoMKgwqDCoMKgIElPQ1RMX0lORk8oVklESU9DX1FV RVJZX0VYVF9DVFJMLCB2NGxfcXVlcnlfZXh0X2N0cmwsIAo+PiB2NGxfcHJpbnRfcXVlcnlfZXh0 X2N0cmwsIElORk9fRkxfQ1RSTCB8IAo+PiBJTkZPX0ZMX0NMRUFSKHY0bDJfcXVlcnlfZXh0X2N0 cmwsIGlkKSksCj4+ICvCoMKgwqDCoMKgwqAgSU9DVExfSU5GTyhWSURJT0NfREVMRVRFX0JVRiwg djRsX2RlbGV0ZV9idWYsIAo+PiB2NGxfcHJpbnRfYnVmZmVyLCBJTkZPX0ZMX1FVRVVFKSwKPj4g wqAgfTsKPj4gwqAgI2RlZmluZSBWNEwyX0lPQ1RMUyBBUlJBWV9TSVpFKHY0bDJfaW9jdGxzKQo+ Pgo+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9tZWRpYS92NGwyLWlvY3RsLmggYi9pbmNsdWRlL21l ZGlhL3Y0bDItaW9jdGwuaAo+PiBpbmRleCBlZGI3MzNmMjE2MDQuLjJmMjMyZWQ4ODRjNyAxMDA2 NDQKPj4gLS0tIGEvaW5jbHVkZS9tZWRpYS92NGwyLWlvY3RsLmgKPj4gKysrIGIvaW5jbHVkZS9t ZWRpYS92NGwyLWlvY3RsLmgKPj4gQEAgLTE2Myw2ICsxNjMsOCBAQCBzdHJ1Y3QgdjRsMl9maDsK Pj4gwqDCoCAqwqDCoMKgwqAgOnJlZjpgVklESU9DX0NSRUFURV9CVUZTIDx2aWRpb2NfY3JlYXRl X2J1ZnM+YCBpb2N0bAo+PiDCoMKgICogQHZpZGlvY19wcmVwYXJlX2J1ZjogcG9pbnRlciB0byB0 aGUgZnVuY3Rpb24gdGhhdCBpbXBsZW1lbnRzCj4+IMKgwqAgKsKgwqDCoMKgIDpyZWY6YFZJRElP Q19QUkVQQVJFX0JVRiA8dmlkaW9jX3ByZXBhcmVfYnVmPmAgaW9jdGwKPj4gKyAqIEB2aWRpb2Nf ZGVsZXRlX2J1ZjogcG9pbnRlciB0byB0aGUgZnVuY3Rpb24gdGhhdCBpbXBsZW1lbnRzCj4+ICsg KsKgwqDCoMKgIDpyZWY6YFZJRElPQ19ERUxFVEVfQlVGIDx2aWRpb2NfZGVsZXRlX2J1Zj5gIGlv Y3RsCj4+IMKgwqAgKiBAdmlkaW9jX292ZXJsYXk6IHBvaW50ZXIgdG8gdGhlIGZ1bmN0aW9uIHRo YXQgaW1wbGVtZW50cwo+PiDCoMKgICrCoMKgwqDCoCA6cmVmOmBWSURJT0NfT1ZFUkxBWSA8dmlk aW9jX292ZXJsYXk+YCBpb2N0bAo+PiDCoMKgICogQHZpZGlvY19nX2ZidWY6IHBvaW50ZXIgdG8g dGhlIGZ1bmN0aW9uIHRoYXQgaW1wbGVtZW50cwo+PiBAQCAtNDIyLDYgKzQyNCw4IEBAIHN0cnVj dCB2NGwyX2lvY3RsX29wcyB7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCB2NGwyX2NyZWF0ZV9idWZm ZXJzICpiKTsKPj4gwqDCoMKgwqDCoMKgwqDCoCBpbnQgKCp2aWRpb2NfcHJlcGFyZV9idWYpKHN0 cnVjdCBmaWxlICpmaWxlLCB2b2lkICpmaCwKPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IHY0bDJfYnVm ZmVyICpiKTsKPj4gK8KgwqDCoMKgwqDCoCBpbnQgKCp2aWRpb2NfZGVsZXRlX2J1Zikoc3RydWN0 IGZpbGUgKmZpbGUsIHZvaWQgKmZoLAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IHY0bDJfYnVmZmVyICpiKTsK Pj4KPj4gwqDCoMKgwqDCoMKgwqDCoCBpbnQgKCp2aWRpb2Nfb3ZlcmxheSkoc3RydWN0IGZpbGUg KmZpbGUsIHZvaWQgKmZoLCB1bnNpZ25lZCAKPj4gaW50IGkpOwo+PiDCoMKgwqDCoMKgwqDCoMKg IGludCAoKnZpZGlvY19nX2ZidWYpKHN0cnVjdCBmaWxlICpmaWxlLCB2b2lkICpmaCwKPj4gZGlm ZiAtLWdpdCBhL2luY2x1ZGUvbWVkaWEvdmlkZW9idWYyLWNvcmUuaCAKPj4gYi9pbmNsdWRlL21l ZGlhL3ZpZGVvYnVmMi1jb3JlLmgKPj4gaW5kZXggMDgwYjc4M2Q2MDhkLi4wZjllNjhmNzZiNzcg MTAwNjQ0Cj4+IC0tLSBhL2luY2x1ZGUvbWVkaWEvdmlkZW9idWYyLWNvcmUuaAo+PiArKysgYi9p bmNsdWRlL21lZGlhL3ZpZGVvYnVmMi1jb3JlLmgKPj4gQEAgLTg0MCw2ICs4NDAsMTUgQEAgaW50 IHZiMl9jb3JlX2NyZWF0ZV9idWZzKHN0cnVjdCB2YjJfcXVldWUgKnEsIAo+PiBlbnVtIHZiMl9t ZW1vcnkgbWVtb3J5LAo+PiDCoMKgICovCj4+IMKgIGludCB2YjJfY29yZV9wcmVwYXJlX2J1Zihz dHJ1Y3QgdmIyX3F1ZXVlICpxLCB1bnNpZ25lZCBpbnQgaW5kZXgsIAo+PiB2b2lkICpwYik7Cj4+ Cj4+ICsvKioKPj4gKyAqIHZiMl9jb3JlX2RlbGV0ZV9idWYoKSAtCj4+ICsgKiBAcTogcG9pbnRl ciB0byAmc3RydWN0IHZiMl9xdWV1ZSB3aXRoIHZpZGVvYnVmMiBxdWV1ZS4KPj4gKyAqIEBpbmRl eDrCoMKgwqDCoCBpZCBudW1iZXIgb2YgdGhlIGJ1ZmZlci4KPj4gKyAqCj4+ICsgKsKgIFJldHVy bjogcmV0dXJucyB6ZXJvIG9uIHN1Y2Nlc3M7IGFuIGVycm9yIGNvZGUgb3RoZXJ3aXNlLgo+PiAr ICovCj4+ICtpbnQgdmIyX2NvcmVfZGVsZXRlX2J1ZihzdHJ1Y3QgdmIyX3F1ZXVlICpxLCB1bnNp Z25lZCBpbnQgaW5kZXgpOwo+PiArCj4+IMKgIC8qKgo+PiDCoMKgICogdmIyX2NvcmVfcWJ1Zigp IC0gUXVldWUgYSBidWZmZXIgZnJvbSB1c2Vyc3BhY2UKPj4gwqDCoCAqCj4+IGRpZmYgLS1naXQg YS9pbmNsdWRlL21lZGlhL3ZpZGVvYnVmMi12NGwyLmggCj4+IGIvaW5jbHVkZS9tZWRpYS92aWRl b2J1ZjItdjRsMi5oCj4+IGluZGV4IDg4YTdhNTY1MTcwZS4uM2JlZWI0YzczNWYwIDEwMDY0NAo+ PiAtLS0gYS9pbmNsdWRlL21lZGlhL3ZpZGVvYnVmMi12NGwyLmgKPj4gKysrIGIvaW5jbHVkZS9t ZWRpYS92aWRlb2J1ZjItdjRsMi5oCj4+IEBAIC0xMTQsNiArMTE0LDE3IEBAIGludCB2YjJfY3Jl YXRlX2J1ZnMoc3RydWN0IHZiMl9xdWV1ZSAqcSwgc3RydWN0IAo+PiB2NGwyX2NyZWF0ZV9idWZm ZXJzICpjcmVhdGUpOwo+PiDCoMKgICovCj4+IMKgIGludCB2YjJfcHJlcGFyZV9idWYoc3RydWN0 IHZiMl9xdWV1ZSAqcSwgc3RydWN0IG1lZGlhX2RldmljZSAqbWRldiwKPj4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgdjRsMl9idWZmZXIgKmIpOwo+PiAr LyoqCj4+ICsgKiB2YjJfZGVsZXRlX2J1ZigpIC0gRGVsZXRlIHRoZSBidWZmZXIgZnJvbSB0aGUg cXVldWUKPj4gKyAqCj4+ICsgKiBAcTrCoMKgwqDCoMKgwqDCoMKgIHBvaW50ZXIgdG8gJnN0cnVj dCB2YjJfcXVldWUgd2l0aCB2aWRlb2J1ZjIgcXVldWUuCj4+ICsgKiBAYjrCoMKgwqDCoMKgwqDC oMKgIGJ1ZmZlciBzdHJ1Y3R1cmUgcGFzc2VkIGZyb20gdXNlcnNwYWNlIHRvCj4+ICsgKsKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCAmdjRsMl9pb2N0bF9vcHMtPnZpZGlvY19kZWxldGVfYnVmIGhh bmRsZXIgaW4gZHJpdmVyCj4+ICsgKgo+PiArICogVGhlIHJldHVybiB2YWx1ZXMgZnJvbSB0aGlz IGZ1bmN0aW9uIGFyZSBpbnRlbmRlZCB0byBiZSBkaXJlY3RseSAKPj4gcmV0dXJuZWQKPj4gKyAq IGZyb20gJnY0bDJfaW9jdGxfb3BzLT52aWRpb2NfZGVsZXRlX2J1ZiBoYW5kbGVyIGluIGRyaXZl ci4KPj4gKyAqLwo+PiAraW50IHZiMl9kZWxldGVfYnVmKHN0cnVjdCB2YjJfcXVldWUgKnEsIHN0 cnVjdCB2NGwyX2J1ZmZlciAqYik7Cj4+Cj4+IMKgIC8qKgo+PiDCoMKgICogdmIyX3FidWYoKSAt IFF1ZXVlIGEgYnVmZmVyIGZyb20gdXNlcnNwYWNlCj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3Vh cGkvbGludXgvdmlkZW9kZXYyLmggCj4+IGIvaW5jbHVkZS91YXBpL2xpbnV4L3ZpZGVvZGV2Mi5o Cj4+IGluZGV4IGFlZTc1ZWI5ZTY4Ni4uMzFiYmExOTE1NjQyIDEwMDY0NAo+PiAtLS0gYS9pbmNs dWRlL3VhcGkvbGludXgvdmlkZW9kZXYyLmgKPj4gKysrIGIvaW5jbHVkZS91YXBpL2xpbnV4L3Zp ZGVvZGV2Mi5oCj4+IEBAIC0yNzAyLDYgKzI3MDIsOCBAQCBzdHJ1Y3QgdjRsMl9jcmVhdGVfYnVm ZmVycyB7Cj4+IMKgICNkZWZpbmUgVklESU9DX0RCR19HX0NISVBfSU5GT8KgIF9JT1dSKCdWJywg MTAyLCBzdHJ1Y3QgCj4+IHY0bDJfZGJnX2NoaXBfaW5mbykKPj4KPj4gwqAgI2RlZmluZSBWSURJ T0NfUVVFUllfRVhUX0NUUkzCoCBfSU9XUignVicsIDEwMywgc3RydWN0IAo+PiB2NGwyX3F1ZXJ5 X2V4dF9jdHJsKQo+PiArI2RlZmluZSBWSURJT0NfREVMRVRFX0JVRsKgwqDCoMKgwqAgX0lPV1Io J1YnLCAxMDQsIHN0cnVjdCB2NGwyX2J1ZmZlcikKPj4gKwo+Pgo+PiDCoCAvKiBSZW1pbmRlcjog d2hlbiBhZGRpbmcgbmV3IGlvY3RscyBwbGVhc2UgYWRkIHN1cHBvcnQgZm9yIHRoZW0gdG8KPj4g wqDCoMKgwqAgZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRsMi1jb21wYXQtaW9jdGwzMi5jIGFz IHdlbGwhICovCj4+IC0tIAo+PiAyLjM5LjIKPj4KCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkxpbnV4LXJvY2tjaGlwIG1haWxpbmcgbGlzdApMaW51eC1y b2NrY2hpcEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21h aWxtYW4vbGlzdGluZm8vbGludXgtcm9ja2NoaXAK