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 E979DC0015E for ; Wed, 9 Aug 2023 13:49:12 +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=67LsspKxPSOlbUFDDiTlH/qP2ImLM1DKX5omSywqVv0=; b=SlwT/0hLQMe/dE WCCepbNHzItTOBmIsu9JacNt8fziszrt32B09EturRQ3cfOhKCloeWkEVqb6bjkSsIWCjxyUyEMOL Ziy7LtW3kTooHUZtvkaerai34uT7SObCoaUWCiPcnO9ymxgBiJ5Vda0wojMSsw5PHSP0JzDfGEPbI ebGcJ//A5+ntT6jbfR1I/MiGIKBZr43cV4uB9zwbGyEjYQlU45p8ibWvGpsQLn0jIi3taGneDUEZh 5fk6Ni04kVlB+/nKs8l1ojc4/PMn5Ypx75/fVb4/tvGaCL7cjJ7N70bUwadO7dlJwCvuGXsswXch4 TJAoJySqjeM9DYVXuk0w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qTjYJ-0054Y5-1Y; Wed, 09 Aug 2023 13:48:43 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qTjYG-0054XX-1k for linux-arm-kernel@lists.infradead.org; Wed, 09 Aug 2023 13:48:42 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 0F38DD75; Wed, 9 Aug 2023 06:49:21 -0700 (PDT) Received: from [10.57.4.174] (unknown [10.57.4.174]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id B33813F59C; Wed, 9 Aug 2023 06:48:36 -0700 (PDT) Message-ID: <280d0be7-7d41-ed78-bf4b-3db6c0076e22@arm.com> Date: Wed, 9 Aug 2023 14:48:23 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: [PATCH v2 1/1] iommu/arm-smmu-v3: Fix error case of range command To: zhurui , Will Deacon Cc: Nicolin Chen , linux-arm-kernel@lists.infradead.org, iommu@lists.linux.dev, linux-kernel@vger.kernel.org, Joerg Roedel , Lu Baolu , Jason Gunthorpe , Yicong Yang , Tomas Krcka , Jean-Philippe Brucker References: <1690784482-30028-1-git-send-email-wangwudi@hisilicon.com> <20230801085504.GA26130@willie-the-truck> <27c895b8-1fb0-be88-8bc3-878d754684c8@huawei.com> <20230804165225.GF30679@willie-the-truck> <015b4573-9d74-451b-8028-a1050ade7019@huawei.com> <661a7bb5-99e1-de16-d860-0cd17f7a0470@arm.com> <20230808162409.GB2890@willie-the-truck> <80ead8ee-4dbe-7b3c-44f5-944073a2a39d@arm.com> <412886be-644a-5b46-9bfa-1c9a358f9a5d@huawei.com> Content-Language: en-GB From: Robin Murphy In-Reply-To: <412886be-644a-5b46-9bfa-1c9a358f9a5d@huawei.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230809_064840_676293_4EE1DC92 X-CRM114-Status: GOOD ( 39.39 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMjAyMy0wOC0wOSAxMDoyMiwgemh1cnVpIHdyb3RlOgo+IE9uIDIwMjMvOC85IDA6NDMsIFJv YmluIE11cnBoeSB3cm90ZToKPj4gT24gMDgvMDgvMjAyMyA1OjI0IHBtLCBXaWxsIERlYWNvbiB3 cm90ZToKPj4+IEhpIFJvYmluLAo+Pj4KPj4+IE9uIE1vbiwgQXVnIDA3LCAyMDIzIGF0IDA4OjIw OjQ1UE0gKzAxMDAsIFJvYmluIE11cnBoeSB3cm90ZToKPj4+PiBPbiAyMDIzLTA4LTA2IDA2OjI4 LCB6aHVydWkgd3JvdGU6Cj4+Pj4+IE9uIDIwMjMvOC81IDI6MzAsIE5pY29saW4gQ2hlbiB3cm90 ZToKPj4+Pj4+IE9uIEZyaSwgQXVnIDA0LCAyMDIzIGF0IDA1OjUyOjI1UE0gKzAxMDAsIFdpbGwg RGVhY29uIHdyb3RlOgo+Pj4+Pj4+IE9uIEZyaSwgQXVnIDA0LCAyMDIzIGF0IDA1OjMxOjIwUE0g KzA4MDAsIHpodXJ1aSB3cm90ZToKPj4+Pj4+Pj4gV2hlbiB0ZyAhPSAwIGJ1dCB0dGwsIHNjYWxl LCBudW0gYWxsIDAgaW4gYSByYW5nZSB0bGJpIGNvbW1hbmQsIGl0Cj4+Pj4+Pj4+IGlzIHJlc2Vy dmVkIGFuZCB3aWxsIGNhdXNlIHRoZSBDRVJST1JfSUxMIGVycm9yLiBUaGlzIGNhc2UgbWVhbnMK Pj4+Pj4+Pj4gdGhhdCB0aGUgc2l6ZSB0byBiZSBpbnZhbGlkYXRlZCBpcyBvbmx5IG9uZSBwYWdl IHNpemUsIGFuZCB0aGUKPj4+Pj4+Pj4gcmFuZ2UgaW52YWxpZGF0aW9uIGlzIG1lYW5pbmdsZXNz IGhlcmUuIFNvIHdlIHNldCB0ZyB0byAwIGluIHRoaXMKPj4+Pj4+Pj4gY2FzZSB0byBkbyBhbiBu b24tcmFuZ2UgaW52YWxpZGF0aW9uIGluc3RlYWQuCj4+Pj4+Pgo+Pj4+Pj4+PiBAQCAtMTkzMCw2 ICsxOTI3LDEyIEBAIHN0YXRpYyB2b2lkIF9fYXJtX3NtbXVfdGxiX2ludl9yYW5nZShzdHJ1Y3Qg YXJtX3NtbXVfY21kcV9lbnQgKmNtZCwKPj4+Pj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG51bSA9IChudW1fcGFnZXMgPj4gc2NhbGUpICYg Q01EUV9UTEJJX1JBTkdFX05VTV9NQVg7Cj4+Pj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjbWQtPnRsYmkubnVtID0gbnVtIC0gMTsKPj4+ Pj4+Pj4KPj4+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIC8qIFByZXZlbnQgZXJyb3IgY2F1c2VkIGJ5IG9uZSBwYWdlIHRsYmkgd2l0aCBsZWFmIDAg Ki8KPj4+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IGlmIChzY2FsZSA9PSAwICYmIG51bSA9PSAxICYmIGNtZC0+dGxiaS5sZWFmID09IDApCj4+Pj4+ Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgY21kLT50bGJpLnRnID0gMDsKPj4+Pj4+Pgo+Pj4+Pj4+IFRoaXMgc2hvdWxkIG9u bHkgYmUgdHJ1ZSBmb3IgdGhlIGxhc3QgaXRlcmF0aW9uLCByaWdodCAoaS5lLiB3aGVuIG51bV9w YWdlcwo+Pj4+Pj4+ID09IDEpPyBJbiB3aGljaCBjYXNlLCBJJ2QgcHJlZmVyIHRvIGxlYXZlIHRo ZSBvbGQgY29kZSBhcy1pcyBhbmQganVzdCBhZGQ6Cj4+Pj4+Pj4KPj4+Pj4+PiAgwqDCoMKgwqDC oMKgwqDCoMKgIC8qIFNpbmdsZS1wYWdlIGxlYWYgaW52YWxpZGF0aW9uIHJlcXVpcmVzIGEgVEcg ZmllbGQgb2YgMCAqLwo+Pj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgKG51bV9wYWdlcyA9 PSAxICYmICFjbWQtPnRsYmkubGVhZikKPj4+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBjbWQtPnRsYmkudGcgPSAwO1RvIFdpbGwgYW5kIE5pY29saW4sCj4+Pj4+Cj4+ Pj4+IE5vdCBvbmx5IHRoZSBsYXN0IGl0ZXJhdGlvbiwgaXQncyB0aGUgcmVzdWx0IG9mIF9fZmZz IGZ1bmN0aW9uLiBGb3IgZXhhbXBsZSwgaWYKPj4+Pj4gbnVtcGFnZXMgaXMgMzMsIHRoZW4gdGhl IHZhbHVlIG9mIF9fZmZzKG51bV9wYWdlcykgaXMgMCwgc28gdGhlIHZhbHVlIG9mIHNjYWxlCj4+ Pj4+IGlzIGFsc28gMC4gVGhlIHZhbHVlIG9mIG51bSBkZXBlbmRzIG9uIENNRFFfVExCSV9SQU5H RV9OVU1fTUFYLiBUaGF0IGlzLCB0aGUKPj4+Pj4gbWF4aW11bSB2YWx1ZSBvZiBudW0gaXMgMzEu IFRoZXJlZm9yZSwgdGhlIGZpbmFsIHZhbHVlIG9mIG51bSBpcyAxLgo+Pj4+PiBTbywgaWYgY29u c2lkZXIgQ01EUV9UTEJJX1JBTkdFX05VTV9NQVgsIHRoZXJlIHdpbGwgYmUgc29tZSBjYXNlIG5v dCB0aGUgbGFzdAo+Pj4+PiBvbmUgcGFnZSBidXQgdGhlIGJlZ2lubmluZyBwYWdlcy4gVGhhdCdz IHdoeSBJIHVzZSBzY2FsZSBhbmQgbnVtIGFzIGNvbmRpdGlvbnMsCj4+Pj4+IG5vdCBudW1fcGFn ZXMuIFRoZW4gSSBzaG91bGQgcmVhc3NpZ24gdGcgYmFzZWQgb24gdGhlIHJlc3VsdC4KPj4+Pgo+ Pj4+IFllYWgsIEknZCByYXRoZXIgbm90IGRvd25ncmFkZSB0byBhIG5vbi1yYW5nZSBpbnZhbGlk YXRlIHNpbmNlIHRoYXQKPj4+PiBjb21wbGljYXRlcyB0aGUgcmVhc29uaW5nIGZvciB0aGUgZXJy YXRhIGFmZmVjdGluZyB0aG9zZS4gSWYgdGhlIHNpemUgb2YgdGhlCj4+Pj4gaW52YWxpZGF0aW9u IGlzIGVxdWFsIHRvIFRHIHRoZW4gaXQgY2FuIG9ubHkgcmVwcmVzZW50IGEgc2luZ2xlIGxhc3Qt bGV2ZWwKPj4+PiBwYWdlLCBpLmUuIFRUTD0zLCB0aHVzIGlmIGl0IGRvZXMgd2FycmFudCBoYW5k bGluZyBoZXJlIHRoZW4gaW5kZWVkCj4+Pj4gcmVhcnJhbmdpbmcgdG8gYmFzZSB0aGUgY29uZGl0 aW9uIG9uIG51bV9wYWdlcyBhcyB3ZWxsIG91Z2h0IHRvIHN1ZmZpY2UuCj4+Pj4gSG93ZXZlciwg dGhpcyBpcyBhbGwgc3RpbGwgYmVnZ2luZyB0aGUgcXVlc3Rpb24gb2Ygd2hlcmUgYW5kIHdoeSB3 ZSdyZSBkb2luZwo+Pj4+IGEgKm5vbi1sZWFmKiBpbnZhbGlkYXRpb24gdGhhdCBpc24ndCBhbGln bmVkIHRvIHRoZSBzaXplIG9mIGEgdGFibGUsIGJlY2F1c2UKPj4+PiB0aGF0IGluIGl0c2VsZiBk b2Vzbid0IG1ha2UgYSB3aG9sZSBoZWFwIG9mIHNlbnNlIC0gbXkgaHVuY2ggaXMgdGhhdCB0aGF0 Cj4+Pj4gd2FudHMgZmlndXJpbmcgb3V0IGFuZCBjb3VsZCBwcm9iYWJseSBiZSBmaXhlZCBhdCB0 aGUgc291cmNlLgo+Pj4KPj4+IElzbid0IHRoYXQgZGVzY3JpYmVkIGFib3ZlIGJlY2F1c2Ugd2Un cmUgdXNpbmcgQ01EUV9UTEJJX1JBTkdFX05VTV9NQVgKPj4+IHRvIGJyZWFrIHVwIHRoZSByYW5n ZSBpbnRvIHNlcGFyYXRlIGNvbW1hbmRzPwo+Pgo+PiBOb3QgcmVhbGx5LCBiZWNhdXNlIGlmIHdl J3JlIGRvaW5nIGEgZ2VudWluZSBub24tbGVhZiBpbnZhbGlkYXRpb24gb2YgYSB0YWJsZSB0aGVu IGl0IHNob3VsZCBiZSBhIGJsb2NrLWFsaWduZWQgcmFuZ2UgdGhhdCBvdWdodCB0byBmaXQgaW4g YSBzaW5nbGUgY29tbWFuZCBhbmQgc2hvdWxkIGNlcnRhaW5seSBuZXZlciBpbnZvbHZlIGEgc2lu Z2xlLWdyYW51bGUgcmVtYWluZGVyLiBJZiB3ZSdyZSBkb2luZyBub24tbGVhZiBpbnZhbGlkYXRp b25zIG9mIHRoaW5ncyB0aGF0IGxvZ2ljYWxseSBkb24ndCBuZWVkIHRvIGJlIG5vbi1sZWFmLCBt YWtpbmcgdGhlbSBsZWFmIHdvdWxkIGJlIHRoZSBldmVuIGJldHRlciBvcHRpb24uCj4+Cj4gCj4g SSBhZ3JlZSB3aXRoIFJvYmluIHRoYXQgaWYgdGhlIGNhbGxlciBpcyBkb2luZyBhIGdlbnVpbmUg bm9uLWxlYWYgaW52YWxpZGF0aW9uCj4gb2YgYSB0YWJsZSwgaXQgc2hvdWxkIG5vdCBpbnZvbHZl IGEgc2luZ2xlLWdyYW51bGUgdGxiaS4gSXQgc2VlbXMgdGhhdCB0aGUKPiBjYWxsZXIgb25seSBm aWx0ZXIgdGhlIGJsb2NrIHNpemUsIGJ1dCBub3QgdGhlIGFkZHJlc3MgYWxpZ25lZCBvciBub3Qg bWF5YmUuCgpPaCwgZGlkIHlvdSBoaXQgdGhpcyB3aXRoIFNWQSBieSBhbnkgY2hhbmNlPyBBRkFJ Q1MgdGhlIG9ubHkgcGxhY2UKaW8tcGd0YWJsZSBjYW4gY2F1c2UgYSBub24tbGVhZiBpbnZhbGlk YXRpb24gaXMgZnJvbSB0bGJfZmx1c2hfd2FsaywKd2hpY2ggYWJzb2x1dGVseSBzaG91bGQgYmUg dGFibGUtYWxpZ25lZCwgYnV0IHRoZW4gdGhlcmUgaXMgYW5vdGhlciBwYXRoCmZyb20gYXJtX3Nt bXVfbW1faW52YWxpZGF0ZV9yYW5nZSgpLCB3aGVyZSBJIGd1ZXNzIHdlIHVzZSBub24tbGVhZgp1 bmNvbmRpdGlvbmFsbHkgYmVjYXVzZSB0aGUgTU1VIG5vdGlmaWVyIGRvZXNuJ3QgaGF2ZSB2aXNp YmlsaXR5IG9mCmV4YWN0bHkgaG93IHRoZSBwYWdldGFibGUgc3RydWN0dXJlIG1heSBoYXZlIGNo YW5nZWQuIEhvd2V2ZXIsIGJ5IHRoZQpzYW1lIHRva2VuIHRoYXQgcGF0aCByZWFsbHkgZG9lcyBh Y3R1YWxseSBuZWVkIG15IGZpeCwgc2luY2UgaXQncyBhbHNvCmhhcmQtY29kaW5nIFBBR0VfU0la RSBhcyB0aGUgaW52YWxpZGF0aW9uIGdyYW51bGUuIEkgd2FzIHNheWluZyBpdCdzIGEKbGFyZ2Vs eSB0aGVvcmV0aWNhbCBpc3N1ZSBmcm9tIHRoZSBpby1wZ3RhYmxlIHBvaW50IG9mIHZpZXcsIHNp bmNlIHRoZQpjaGFuY2Ugb2YgdW5tYXBwaW5nIGEgbGV2ZWwgMSB0YWJsZSBmdWxsIG9mIGxldmVs IDIgYmxvY2sgZW50cmllcyB2aWEKdGhlIElPTU1VIEFQSSBpcyBtaW5pbWFsIChvdGhlciB0aGFu IGNhc2VzIGxpa2UgVkZJTyB0ZWFyZG93biB3aGVyZQpwcmVjaXNlIGludmFsaWRhdGlvbiBkb2Vz bid0IG1hdHRlciBzaW5jZSB0aGUgd2hvbGUgZG9tYWluIGlzIGFib3V0IHRvCmJlIGRlc3Ryb3ll ZCBhbnl3YXkpLCBidXQgaW4gdGhpcyBTVkEgcGF0aCB3aGljaCBJIGhhZG4ndCBjb25zaWRlcmVk CmJlZm9yZSwgSSB0aGluayBpdCBtZWFucyB0aGF0IHVubWFwcGluZyAqYW55KiBibG9jayBlbnRy eSBtYXkgbm90IGJlCmludmFsaWRhdGVkIGNvcnJlY3RseSwgYW5kIHVubWFwcGluZyBibG9ja3Mg aW4gZ2VuZXJhbCBpcyBkZWZpbml0ZWx5CnNvbWV0aGluZyB0aGF0IHByb2Nlc3NlcyBjYW4gYW5k IHdpbGwgZG8gOigKCj4+PiBEbyB5b3UgbWluZCBpZiBJIHF1ZXVlIHRoZSBwYXRjaCBhcy1pcyBm b3Igbm93PyBJIGRvbid0IHRoaW5rIHRoZSBkcml2ZXIKPj4+IHNob3VsZCBiZSBlbWl0dGluZyBp bGxlZ2FsIGNvbW1hbmRzLCBhbmQgdjIgb2YgdGhlIHBhdGNoIGRvZXMgc2VlbSBsaWtlCj4+PiB0 aGUgb2J2aW91cyB0aGluZyB0byBkby4KPj4KPj4gVEJIIEknZCByYXRoZXIgeW91IGp1c3QgZHJv cCBteSBwYXRjaCBpZiBpdCdzIHByb3ZlbiBwcm9ibGVtYXRpYywgYW5kIEknbGwgdGFrZSBhbm90 aGVyIGNyYWNrIGF0IGl0IHNvb24uIFRoZSBwb3RlbnRpYWwgcHJvYmxlbXMgd2UgaW50cm9kdWNl IGJ5IHVzaW5nIG5vbi1yYW5nZSBpbnZhbGlkYXRlcyBvbiBlcnJhdGEtYWZmZWN0ZWQgTU1VLTcw MCByZXZpc2lvbnMgYXJlIHdvcnNlIHRoYW4gdGhlIGFsbW9zdC1lbnRpcmVseS10aGVvcmV0aWNh bCBvbmUgSSB3YXMgdHJ5aW5nIHRvIGFkZHJlc3MuCgpEb2VzIHRoZSBwYXRjaCBiZWxvdyB3b3Jr IGZvciB5b3U/CgpUaGFua3MsClJvYmluLgoKLS0tLS0+OC0tLS0tClN1YmplY3Q6IFtQQVRDSF0g aW9tbXUvYXJtLXNtbXUtdjM6IEF2b2lkIGNvbnN0cnVjdGluZyBpbnZhbGlkIHJhbmdlIGNvbW1h bmRzCgpBbHRob3VnaCBpby1wZ3RhYmxlJ3Mgbm9uLWxlYWYgaW52YWxpZGF0aW9ucyBhcmUgYWx3 YXlzIGZvciBmdWxsIHRhYmxlcywKSSBtaXNzZWQgdGhhdCBTVkEgYWxzbyB1c2VzIG5vbi1sZWFm IGludmFsaWRhdGlvbnMsIHdoaWxlIGJlaW5nIGF0IHRoZQptZXJjeSBvZiB3aGF0ZXZlciByYW5n ZSB0aGUgTU1VIG5vdGlmaWVyIHRocm93cyBhdCBpdC4gVGhpcyBtZWFucyBpdApkZWZpbml0ZWx5 IHdhbnRzIHRoZSBwcmV2aW91cyBUVEwgZml4IGFzIHdlbGwsIHNpbmNlIGl0IGFsc28gZG9lc24n dAprbm93IGV4YWN0bHkgd2hpY2ggbGVhZiBsZXZlbChzKSBtYXkgbmVlZCBpbnZhbGlkYXRpbmcs IGJ1dCBpdCBjYW4gYWxzbwpnaXZlIHVzIGxlc3MtYWxpZ25lZCByYW5nZXMgd2hlcmVpbiBjZXJ0 YWluIGNvcm5lcnMgbWF5IGxlYWQgdG8gYnVpbGRpbmcKYW4gaW52YWxpZCBjb21tYW5kIHdoZXJl IFRUTCwgTnVtIGFuZCBTY2FsZSBhcmUgYWxsIDAuIEl0IHNob3VsZCBiZSBmaW5lCnRvIGhhbmRs ZSB0aGlzIGJ5IG92ZXItaW52YWxpZGF0aW5nIGFuIGV4dHJhIHBhZ2UsIHNpbmNlIGZhbGxpbmcg YmFjayB0bwphIG5vbi1yYW5nZSBjb21tYW5kIG9wZW5zIHVwIGEgd2hvbGUgY2FuIG9mIGVycmF0 YS1mbGF2b3VyZWQgd29ybXMuCgpGaXhlczogNjgzM2I4ZjJlMTk5ICgiaW9tbXUvYXJtLXNtbXUt djM6IFNldCBUVEwgaW52YWxpZGF0aW9uIGhpbnQgYmV0dGVyIikKUmVwb3J0ZWQtYnk6IFJ1aSBa aHUgPHpodXJ1aTNAaHVhd2VpLmNvbT4KU2lnbmVkLW9mZi1ieTogUm9iaW4gTXVycGh5IDxyb2Jp bi5tdXJwaHlAYXJtLmNvbT4KLS0tCiAgZHJpdmVycy9pb21tdS9hcm0vYXJtLXNtbXUtdjMvYXJt LXNtbXUtdjMuYyB8IDE1ICsrKysrKysrKystLS0tLQogIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNl cnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW9tbXUvYXJt L2FybS1zbW11LXYzL2FybS1zbW11LXYzLmMgYi9kcml2ZXJzL2lvbW11L2FybS9hcm0tc21tdS12 My9hcm0tc21tdS12My5jCmluZGV4IDliMGRjMzUwNTYwMS4uNmNjYmFlOWI5M2ExIDEwMDY0NAot LS0gYS9kcml2ZXJzL2lvbW11L2FybS9hcm0tc21tdS12My9hcm0tc21tdS12My5jCisrKyBiL2Ry aXZlcnMvaW9tbXUvYXJtL2FybS1zbW11LXYzL2FybS1zbW11LXYzLmMKQEAgLTE4OTUsMTggKzE4 OTUsMjMgQEAgc3RhdGljIHZvaWQgX19hcm1fc21tdV90bGJfaW52X3JhbmdlKHN0cnVjdCBhcm1f c21tdV9jbWRxX2VudCAqY21kLAogIAkJLyogR2V0IHRoZSBsZWFmIHBhZ2Ugc2l6ZSAqLwogIAkJ dGcgPSBfX2ZmcyhzbW11X2RvbWFpbi0+ZG9tYWluLnBnc2l6ZV9iaXRtYXApOwogIAorCQludW1f cGFnZXMgPSBzaXplID4+IHRnOworCiAgCQkvKiBDb252ZXJ0IHBhZ2Ugc2l6ZSBvZiAxMiwxNCwx NiAobG9nMikgdG8gMSwyLDMgKi8KICAJCWNtZC0+dGxiaS50ZyA9ICh0ZyAtIDEwKSAvIDI7CiAg CiAgCQkvKgotCQkgKiBEZXRlcm1pbmUgd2hhdCBsZXZlbCB0aGUgZ3JhbnVsZSBpcyBhdC4gRm9y IG5vbi1sZWFmLCBpby1wZ3RhYmxlCi0JCSAqIGFzc3VtZXMgLnRsYl9mbHVzaF93YWxrIGNhbiBp bnZhbGlkYXRlIG11bHRpcGxlIGxldmVscyBhdCBvbmNlLAotCQkgKiBzbyBpZ25vcmUgdGhlIG5v bWluYWwgbGFzdC1sZXZlbCBncmFudWxlIGFuZCBsZWF2ZSBUVEw9MC4KKwkJICogRGV0ZXJtaW5l IHdoYXQgbGV2ZWwgdGhlIGdyYW51bGUgaXMgYXQuIEZvciBub24tbGVhZiwgYm90aAorCQkgKiBp by1wZ3RhYmxlIGFuZCBTVkEgcGFzcyBhIG5vbWluYWwgbGFzdC1sZXZlbCBncmFudWxlIGJlY2F1 c2UKKwkJICogdGhleSBkb24ndCBrbm93IHdoYXQgbGV2ZWwocykgYWN0dWFsbHkgYXBwbHksIHNv IGlnbm9yZSB0aGF0CisJCSAqIGFuZCBsZWF2ZSBUVEw9MC4gSG93ZXZlciBmb3IgdmFyaW91cyBl cnJhdGEgcmVhc29ucyB3ZSBzdGlsbAorCQkgKiB3YW50IHRvIHVzZSBhIHJhbmdlIGNvbW1hbmQs IHNvIGF2b2lkIHRoZSBTVkEgY29ybmVyIGNhc2UKKwkJICogd2hlcmUgYm90aCBzY2FsZSBhbmQg bnVtIGNvdWxkIGJlIDAgYXMgd2VsbC4KICAJCSAqLwogIAkJaWYgKGNtZC0+dGxiaS5sZWFmKQog IAkJCWNtZC0+dGxiaS50dGwgPSA0IC0gKChpbG9nMihncmFudWxlKSAtIDMpIC8gKHRnIC0gMykp OwotCi0JCW51bV9wYWdlcyA9IHNpemUgPj4gdGc7CisJCWVsc2UgaWYgKChudW1fcGFnZXMgJiBD TURRX1RMQklfUkFOR0VfTlVNX01BWCkgPT0gMSkKKwkJCW51bV9wYWdlcysrOwogIAl9CiAgCiAg CWNtZHMubnVtID0gMDsKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlz dHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2xpbnV4LWFybS1rZXJuZWwK