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 1A6CCCCA47F for ; Tue, 19 Jul 2022 07:03:20 +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:References:Cc:To:From: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=oMkTLIb8vLHpRRzrPCKJ56VHQvFM1IG14uebKZKZSRk=; b=uf2aIOCAqN8tzH v/ZSXNwVboy6e+BhAEBglZv+I3k8o88+9AeqMrYdU2uzoczPdnvCzVrNqrdIOkQ7jVDqs2r1H5lh9 LRYpbKHaBlr9pwtpeZx/HPxU5Yix6Tq04fEoODoDjp3AWwsRezwkJOlaki97dgfc0GcnQ99w8cUUf tHvFXqn+x0U5CN06IRMnSIt+kXYrHMS10KmfpMznMqc6Ts24AZCJpaerlRORxobfD6B6TMIkPOmx5 BYEK1mimc3IvYPTf7cEWVgcIWzMdqUz4UNfzLQG3gdKhXROjPPQF601syIFDJO1B+ZmVxsvtj6oFd SvL3LIhBkCQHN5qMRvIg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oDhFG-005mBz-BA; Tue, 19 Jul 2022 07:02:14 +0000 Received: from mail-pj1-x1034.google.com ([2607:f8b0:4864:20::1034]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oDhFB-005m99-LY for linux-arm-kernel@lists.infradead.org; Tue, 19 Jul 2022 07:02:11 +0000 Received: by mail-pj1-x1034.google.com with SMTP id 89-20020a17090a09e200b001ef7638e536so20393656pjo.3 for ; Tue, 19 Jul 2022 00:02:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance-com.20210112.gappssmtp.com; s=20210112; h=message-id:date:mime-version:user-agent:subject:from:to:cc :references:content-language:in-reply-to:content-transfer-encoding; bh=exs2gn7JJUBuYfUOPg6VzX7JaLxQa4T7Pk3HE8BN1qA=; b=67f9I2U+p8Gqh6XxNsb95CVAu1Hwp1MXfOcJd9yhjCA1wBdMNIGuVb7IU1kgVBTsX1 aVTETSvnCdl0GH7Vdv9YewHrR+fOmkCJezUWs3qzvsKrMp2zcEnEc2L8rq5iFHAxy78j ZxeDVEa1b1f2TwpI/El6vZgKRggiMcWCBAZoc+Mv0HnF1Oj+mIjqfJp9yGaYPT3P9/GK biayVszPhHeUsXvNnnb/8l0wYtKS/ErC2rrXZyV+EcC+9FlaIyzochOIw4vMYOamnNKF Bw3F/9wQWQoa8HsQS1IGDXS2syxACyoKXrhO0sHTHOHQ7nug7IMJDoMuqqb2Foe4Wj5n K14g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :from:to:cc:references:content-language:in-reply-to :content-transfer-encoding; bh=exs2gn7JJUBuYfUOPg6VzX7JaLxQa4T7Pk3HE8BN1qA=; b=P2Moq+oMEyMIrsx6nwrAgXVyUzv0s1OoNpbaaFelIzBBzHvi/aX6us+3FlJYeT30WO N0chzZIx/TXCJmv811Y4+A/vX9IpYEOeRWKNg20eX33suYbHYzgKd7q6YcjwZr4L0YQb nIZuVz2oTOENd37hLOBSiBlGuncj0MwdzKB38cas2gfdhuigkhkoOATui/wgsH/OcFkj oR/ELkzHNQEpLfAdSnw+YYUYlkSpt1G/qNA4mmPXMrb8ZoWxxhYg9VUmYwTUs0FUzOHd WNwEX5/Z+I+WQkFqePBitgSEYorjuKOVrYf7rGQoC59XeCpPCtAG4LHSwLqssWevXgrb 5q/g== X-Gm-Message-State: AJIora/T0luGgZzADLw5SV2Jd9+kYgE9vN8cAUrs0Yc/d134bgA8DVnO bDbzoWcsvqMXqh5RzXA8eVDB5Q== X-Google-Smtp-Source: AGRyM1ty1Md1kPeF3bJPkp5t+KflcrkT9H0DH3c/vAqhm+/5QzYLVV8TrPiYeg33oi5agHL9XA9KCg== X-Received: by 2002:a17:903:40c6:b0:16c:c82:d626 with SMTP id t6-20020a17090340c600b0016c0c82d626mr30571111pld.28.1658214125421; Tue, 19 Jul 2022 00:02:05 -0700 (PDT) Received: from [10.4.227.241] ([139.177.225.228]) by smtp.gmail.com with ESMTPSA id bc11-20020a656d8b000000b003fd9b8b865dsm9453238pgb.0.2022.07.19.00.02.02 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 19 Jul 2022 00:02:04 -0700 (PDT) Message-ID: <4415cf17-5078-1da8-c209-41936bf4dc0b@bytedance.com> Date: Tue, 19 Jul 2022 15:01:58 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.0 Subject: Re: [PATCH v1 2/2] arm64: support HAVE_IRQ_EXIT_ON_IRQ_STACK From: Qi Zheng To: Will Deacon , Catalin Marinas , Mark Rutland Cc: Arnd Bergmann , Linux ARM , Linux Kernel Mailing List References: <20220708094950.41944-1-zhengqi.arch@bytedance.com> <20220708094950.41944-3-zhengqi.arch@bytedance.com> <3afacff7-e559-b7b5-c65b-414ff988e696@bytedance.com> Content-Language: en-US In-Reply-To: <3afacff7-e559-b7b5-c65b-414ff988e696@bytedance.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220719_000209_734953_2D944C4A X-CRM114-Status: GOOD ( 23.29 ) 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 CgpPbiAyMDIyLzcvMTQgMTk6NTQsIFFpIFpoZW5nIHdyb3RlOgo+IAo+IAo+IE9uIDIwMjIvNy8x NCAxOTozNywgQXJuZCBCZXJnbWFubiB3cm90ZToKPj4gT24gRnJpLCBKdWwgOCwgMjAyMiBhdCAx MTo0OSBBTSBRaSBaaGVuZyA8emhlbmdxaS5hcmNoQGJ5dGVkYW5jZS5jb20+IAo+PiB3cm90ZToK Pj4+Cj4+PiBTaW5jZSBzb2Z0aXJxcyBhcmUgaGFuZGxlZCBvbiB0aGUgcGVyLUNQVSBJUlEgc3Rh Y2ssCj4+PiBsZXQncyBzdXBwb3J0IEhBVkVfSVJRX0VYSVRfT05fSVJRX1NUQUNLIHdoaWNoIGNh dXNlcwo+Pj4gdGhlIGNvcmUgY29kZSB0byBpbnZva2UgX19kb19zb2Z0aXJxKCkgZGlyZWN0bHkg d2l0aG91dAo+Pj4gZ29pbmcgdGhyb3VnaCBkb19zb2Z0aXJxX293bl9zdGFjaygpLgo+Pj4KPj4+ IFNpZ25lZC1vZmYtYnk6IFFpIFpoZW5nIDx6aGVuZ3FpLmFyY2hAYnl0ZWRhbmNlLmNvbT4KPj4K Pj4gQWRkaW5nIE1hcmsgUnV0bGFuZCB0byBDYywgaGUncyB0aGUgb25lIHRoYXQgd29ya2VkIG9u IHRoaXMgYXJlYSB0aGUgCj4+IG1vc3QgaW4gdGhlCj4+IHBhc3QgYW5kIHNob3VsZCBwcm9iYWJs eSByZXZpZXcgeW91ciBwYXRjaC4gSSBzdGlsbCBmZWVsIGxpa2UgdGhlcmUKPj4gc2hvdWxkIGJl IGEgd2F5Cj4+IHRvIGltcHJvdmUgcmVhZGFiaWxpdHkgb2YgdGhlIElSUSBlbnRyeSBwYXRoIHJh dGhlciB0aGFuIGp1c3QgYWRkaW5nIAo+PiBhbm90aGVyCj4gCj4gR290IGl0LiBBbmQgbG9va2lu ZyBmb3J3YXJkIHRvIHJldmlld3MgYW5kIHN1Z2dlc3Rpb25zIGZyb20gTWFyayBvcgo+IGFueW9u ZSBlbHNlLgoKSGkgV2lsbCwgQ2F0YWxpbiBhbmQgTWFyaywKCkkgZG9uJ3Qgc2VlIGFueSBhY3Rp b24gaXRlbXMgbGVmdCBmb3IgbWUuIEFueSBzdWdnZXN0aW9ucyBvbiB0aGlzIHBhdGNoPwoKVGhh bmtzLApRaQoKPiAKPj4gbGV2ZWwgb2YgaW5kaXJlY3Rpb24sIGJ1dCB0aGUgaWRlYXMgSSBoYWQg c28gZmFyIGhhdmUgbm90IGxlZCB0bwo+PiBhbnl0aGluZyB1c2VmdWwuCj4+Cj4+IE92ZXJhbGwg SSBzdXBwb3NlIHlvdXIgdmVyc2lvbiBpcyBhbiBpbXByb3ZlbWVudCBvdmVyIHRoZSBleHRyYSBk b3VibGUgCj4+IHN0YWNrCj4+IHN3aXRjaCB3aGVuIGVudGVyaW5nIHNvZnRpcnEuCj4+Cj4+IMKg wqDCoMKgwqDCoMKgwqAgQXJuZAo+IAo+IFRoYW5rcywKPiBRaQo+IAo+Pgo+Pj4gLS0tCj4+PiDC oCBhcmNoL2FybTY0L0tjb25maWfCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAg MSArCj4+PiDCoCBhcmNoL2FybTY0L2luY2x1ZGUvYXNtL2V4Y2VwdGlvbi5oIHzCoCA0ICsrKy0K Pj4+IMKgIGFyY2gvYXJtNjQva2VybmVsL2VudHJ5LWNvbW1vbi5jwqDCoCB8IDMwICsrKysrKysr KysrKysrKysrKysrLS0tLS0tLS0tLQo+Pj4gwqAgYXJjaC9hcm02NC9rZXJuZWwvZW50cnkuU8Kg wqDCoMKgwqDCoMKgwqDCoCB8wqAgNiArKysrLS0KPj4+IMKgIGFyY2gvYXJtNjQva2VybmVsL2ly cS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgNSArKystLQo+Pj4gwqAgNSBmaWxlcyBjaGFu Z2VkLCAzMSBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKPj4+Cj4+PiBkaWZmIC0tZ2l0 IGEvYXJjaC9hcm02NC9LY29uZmlnIGIvYXJjaC9hcm02NC9LY29uZmlnCj4+PiBpbmRleCBiZTBh OWYwMDUyZWUuLmQyY2M3ZGFlY2NlMyAxMDA2NDQKPj4+IC0tLSBhL2FyY2gvYXJtNjQvS2NvbmZp Zwo+Pj4gKysrIGIvYXJjaC9hcm02NC9LY29uZmlnCj4+PiBAQCAtMjMxLDYgKzIzMSw3IEBAIGNv bmZpZyBBUk02NAo+Pj4gwqDCoMKgwqDCoMKgwqDCoCBzZWxlY3QgVFJBQ0VfSVJRRkxBR1NfU1VQ UE9SVAo+Pj4gwqDCoMKgwqDCoMKgwqDCoCBzZWxlY3QgVFJBQ0VfSVJRRkxBR1NfTk1JX1NVUFBP UlQKPj4+IMKgwqDCoMKgwqDCoMKgwqAgc2VsZWN0IEhBVkVfU09GVElSUV9PTl9PV05fU1RBQ0sK Pj4+ICvCoMKgwqDCoMKgwqAgc2VsZWN0IEhBVkVfSVJRX0VYSVRfT05fSVJRX1NUQUNLCj4+PiDC oMKgwqDCoMKgwqDCoMKgIGhlbHAKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgIEFSTSA2NC1iaXQg KEFBcmNoNjQpIExpbnV4IHN1cHBvcnQuCj4+Pgo+Pj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQv aW5jbHVkZS9hc20vZXhjZXB0aW9uLmggCj4+PiBiL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vZXhj ZXB0aW9uLmgKPj4+IGluZGV4IGQ5NGFlY2ZmOTY5MC4uOGJmZjBhYTdhYjUwIDEwMDY0NAo+Pj4g LS0tIGEvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9leGNlcHRpb24uaAo+Pj4gKysrIGIvYXJjaC9h cm02NC9pbmNsdWRlL2FzbS9leGNlcHRpb24uaAo+Pj4gQEAgLTU0LDcgKzU0LDkgQEAgYXNtbGlu a2FnZSB2b2lkIGVsMHRfMzJfZmlxX2hhbmRsZXIoc3RydWN0IHB0X3JlZ3MgCj4+PiAqcmVncyk7 Cj4+PiDCoCBhc21saW5rYWdlIHZvaWQgZWwwdF8zMl9lcnJvcl9oYW5kbGVyKHN0cnVjdCBwdF9y ZWdzICpyZWdzKTsKPj4+Cj4+PiDCoCBhc21saW5rYWdlIHZvaWQgY2FsbF9vbl9pcnFfc3RhY2so c3RydWN0IHB0X3JlZ3MgKnJlZ3MsCj4+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB2b2lkICgqZnVuYykoc3RydWN0IHB0 X3JlZ3MgKikpOwo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdm9pZCAoKmZ1bmMpKHN0cnVjdCBwdF9yZWdzICopLAo+ Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgdm9pZCAoKmRvX2Z1bmMpKHN0cnVjdCBwdF9yZWdzICosCj4+PiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHZvaWQgKCopKHN0cnVjdCAKPj4+IHB0 X3JlZ3MgKikpKTsKPj4+IMKgIGFzbWxpbmthZ2Ugdm9pZCBhc21fZXhpdF90b191c2VyX21vZGUo c3RydWN0IHB0X3JlZ3MgKnJlZ3MpOwo+Pj4KPj4+IMKgIHZvaWQgZG9fbWVtX2Fib3J0KHVuc2ln bmVkIGxvbmcgZmFyLCB1bnNpZ25lZCBsb25nIGVzciwgc3RydWN0IAo+Pj4gcHRfcmVncyAqcmVn cyk7Cj4+PiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9rZXJuZWwvZW50cnktY29tbW9uLmMgCj4+ PiBiL2FyY2gvYXJtNjQva2VybmVsL2VudHJ5LWNvbW1vbi5jCj4+PiBpbmRleCBjNzVjYTM2YjRh NDkuLjkzNWQxYWIxNTBiNSAxMDA2NDQKPj4+IC0tLSBhL2FyY2gvYXJtNjQva2VybmVsL2VudHJ5 LWNvbW1vbi5jCj4+PiArKysgYi9hcmNoL2FybTY0L2tlcm5lbC9lbnRyeS1jb21tb24uYwo+Pj4g QEAgLTI2NiwxNCArMjY2LDE2IEBAIHN0YXRpYyB2b2lkIF9fc2NoZWQgCj4+PiBhcm02NF9wcmVl bXB0X3NjaGVkdWxlX2lycSh2b2lkKQo+Pj4gwqAgfQo+Pj4KPj4+IMKgIHN0YXRpYyB2b2lkIGRv X2ludGVycnVwdF9oYW5kbGVyKHN0cnVjdCBwdF9yZWdzICpyZWdzLAo+Pj4gLcKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHZvaWQg KCpoYW5kbGVyKShzdHJ1Y3QgcHRfcmVncyAqKSkKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB2b2lkICgqaGFuZGxlciko c3RydWN0IHB0X3JlZ3MgKiksCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdm9pZCAoKmRvX2hhbmRsZXIpKHN0cnVjdCBw dF9yZWdzICosCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCB2b2lkICgqKShzdHJ1Y3QgCj4+PiBwdF9yZWdzICopKSkKPj4+IMKgIHsKPj4+IMKgwqDCoMKg wqDCoMKgwqAgc3RydWN0IHB0X3JlZ3MgKm9sZF9yZWdzID0gc2V0X2lycV9yZWdzKHJlZ3MpOwo+ Pj4KPj4+IMKgwqDCoMKgwqDCoMKgwqAgaWYgKG9uX3RocmVhZF9zdGFjaygpKQo+Pj4gLcKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY2FsbF9vbl9pcnFfc3RhY2socmVncywgaGFuZGxlcik7 Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjYWxsX29uX2lycV9zdGFjayhyZWdz LCBoYW5kbGVyLCBkb19oYW5kbGVyKTsKPj4+IMKgwqDCoMKgwqDCoMKgwqAgZWxzZQo+Pj4gLcKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaGFuZGxlcihyZWdzKTsKPj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIGRvX2hhbmRsZXIocmVncywgaGFuZGxlcik7Cj4+Pgo+Pj4gwqDC oMKgwqDCoMKgwqDCoCBzZXRfaXJxX3JlZ3Mob2xkX3JlZ3MpOwo+Pj4gwqAgfQo+Pj4gQEAgLTQ0 MSwyMiArNDQzLDMyIEBAIGFzbWxpbmthZ2Ugdm9pZCBub2luc3RyIAo+Pj4gZWwxaF82NF9zeW5j X2hhbmRsZXIoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCj4+PiDCoMKgwqDCoMKgwqDCoMKgIH0KPj4+ IMKgIH0KPj4+Cj4+PiArc3RhdGljIHZvaWQgbm1pX2hhbmRsZXIoc3RydWN0IHB0X3JlZ3MgKnJl Z3MsIHZvaWQgKCpoYW5kbGVyKShzdHJ1Y3QgCj4+PiBwdF9yZWdzICopKQo+Pj4gK3sKPj4+ICvC oMKgwqDCoMKgwqAgaGFuZGxlcihyZWdzKTsKPj4+ICt9Cj4+PiArCj4+PiDCoCBzdGF0aWMgX19h bHdheXNfaW5saW5lIHZvaWQgX19lbDFfcG5taShzdHJ1Y3QgcHRfcmVncyAqcmVncywKPj4+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCB2b2lkICgqaGFuZGxlcikoc3RydWN0IAo+Pj4gcHRfcmVncyAq KSkKPj4+IMKgIHsKPj4+IMKgwqDCoMKgwqDCoMKgwqAgYXJtNjRfZW50ZXJfbm1pKHJlZ3MpOwo+ Pj4gLcKgwqDCoMKgwqDCoCBkb19pbnRlcnJ1cHRfaGFuZGxlcihyZWdzLCBoYW5kbGVyKTsKPj4+ ICvCoMKgwqDCoMKgwqAgZG9faW50ZXJydXB0X2hhbmRsZXIocmVncywgaGFuZGxlciwgbm1pX2hh bmRsZXIpOwo+Pj4gwqDCoMKgwqDCoMKgwqDCoCBhcm02NF9leGl0X25taShyZWdzKTsKPj4+IMKg IH0KPj4+Cj4+PiArc3RhdGljIHZvaWQgaXJxX2hhbmRsZXIoc3RydWN0IHB0X3JlZ3MgKnJlZ3Ms IHZvaWQgKCpoYW5kbGVyKShzdHJ1Y3QgCj4+PiBwdF9yZWdzICopKQo+Pj4gK3sKPj4+ICvCoMKg wqDCoMKgwqAgaXJxX2VudGVyX3JjdSgpOwo+Pj4gK8KgwqDCoMKgwqDCoCBoYW5kbGVyKHJlZ3Mp Owo+Pj4gK8KgwqDCoMKgwqDCoCBpcnFfZXhpdF9yY3UoKTsKPj4+ICt9Cj4+PiArCj4+PiDCoCBz dGF0aWMgX19hbHdheXNfaW5saW5lIHZvaWQgX19lbDFfaXJxKHN0cnVjdCBwdF9yZWdzICpyZWdz LAo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB2b2lkICgqaGFuZGxlcikoc3RydWN0IHB0X3JlZ3Mg Cj4+PiAqKSkKPj4+IMKgIHsKPj4+IMKgwqDCoMKgwqDCoMKgwqAgZW50ZXJfZnJvbV9rZXJuZWxf bW9kZShyZWdzKTsKPj4+Cj4+PiAtwqDCoMKgwqDCoMKgIGlycV9lbnRlcl9yY3UoKTsKPj4+IC3C oMKgwqDCoMKgwqAgZG9faW50ZXJydXB0X2hhbmRsZXIocmVncywgaGFuZGxlcik7Cj4+PiAtwqDC oMKgwqDCoMKgIGlycV9leGl0X3JjdSgpOwo+Pj4gK8KgwqDCoMKgwqDCoCBkb19pbnRlcnJ1cHRf aGFuZGxlcihyZWdzLCBoYW5kbGVyLCBpcnFfaGFuZGxlcik7Cj4+Pgo+Pj4gwqDCoMKgwqDCoMKg wqDCoCBhcm02NF9wcmVlbXB0X3NjaGVkdWxlX2lycSgpOwo+Pj4KPj4+IEBAIC02OTksOSArNzEx LDcgQEAgc3RhdGljIHZvaWQgbm9pbnN0ciBlbDBfaW50ZXJydXB0KHN0cnVjdCBwdF9yZWdzIAo+ Pj4gKnJlZ3MsCj4+PiDCoMKgwqDCoMKgwqDCoMKgIGlmIChyZWdzLT5wYyAmIEJJVCg1NSkpCj4+ PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBhcm02NF9hcHBseV9icF9oYXJkZW5p bmcoKTsKPj4+Cj4+PiAtwqDCoMKgwqDCoMKgIGlycV9lbnRlcl9yY3UoKTsKPj4+IC3CoMKgwqDC oMKgwqAgZG9faW50ZXJydXB0X2hhbmRsZXIocmVncywgaGFuZGxlcik7Cj4+PiAtwqDCoMKgwqDC oMKgIGlycV9leGl0X3JjdSgpOwo+Pj4gK8KgwqDCoMKgwqDCoCBkb19pbnRlcnJ1cHRfaGFuZGxl cihyZWdzLCBoYW5kbGVyLCBpcnFfaGFuZGxlcik7Cj4+Pgo+Pj4gwqDCoMKgwqDCoMKgwqDCoCBl eGl0X3RvX3VzZXJfbW9kZShyZWdzKTsKPj4+IMKgIH0KPj4+IGRpZmYgLS1naXQgYS9hcmNoL2Fy bTY0L2tlcm5lbC9lbnRyeS5TIGIvYXJjaC9hcm02NC9rZXJuZWwvZW50cnkuUwo+Pj4gaW5kZXgg MjU0ZmUzMWMwM2EwLi4xYzM1MTM5MWY2YmQgMTAwNjQ0Cj4+PiAtLS0gYS9hcmNoL2FybTY0L2tl cm5lbC9lbnRyeS5TCj4+PiArKysgYi9hcmNoL2FybTY0L2tlcm5lbC9lbnRyeS5TCj4+PiBAQCAt ODY3LDcgKzg2Nyw5IEBAIE5PS1BST0JFKHJldF9mcm9tX2ZvcmspCj4+Pgo+Pj4gwqAgLyoKPj4+ IMKgwqAgKiB2b2lkIGNhbGxfb25faXJxX3N0YWNrKHN0cnVjdCBwdF9yZWdzICpyZWdzLAo+Pj4g LSAqwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdm9pZCAoKmZ1 bmMpKHN0cnVjdCBwdF9yZWdzICopKTsKPj4+ICsgKsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHZvaWQgKCpmdW5jKShzdHJ1Y3QgcHRfcmVncyAqKQo+Pj4gKyAq wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdm9pZCAoKmRvX2Z1 bmMpKHN0cnVjdCBwdF9yZWdzICosCj4+PiArICrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHZvaWQgKCop KHN0cnVjdCBwdF9yZWdzICopKSk7Cj4+PiDCoMKgICoKPj4+IMKgwqAgKiBDYWxscyBmdW5jKHJl Z3MpIHVzaW5nIHRoaXMgQ1BVJ3MgaXJxIHN0YWNrIGFuZCBzaGFkb3cgaXJxIHN0YWNrLgo+Pj4g wqDCoCAqLwo+Pj4gQEAgLTg4Niw3ICs4ODgsNyBAQCBTWU1fRlVOQ19TVEFSVChjYWxsX29uX2ly cV9zdGFjaykKPj4+Cj4+PiDCoMKgwqDCoMKgwqDCoMKgIC8qIE1vdmUgdG8gdGhlIG5ldyBzdGFj ayBhbmQgY2FsbCB0aGUgZnVuY3Rpb24gdGhlcmUgKi8KPj4+IMKgwqDCoMKgwqDCoMKgwqAgbW92 wqDCoMKgwqAgc3AsIHgxNgo+Pj4gLcKgwqDCoMKgwqDCoCBibHLCoMKgwqDCoCB4MQo+Pj4gK8Kg wqDCoMKgwqDCoCBibHLCoMKgwqDCoCB4Mgo+Pj4KPj4+IMKgwqDCoMKgwqDCoMKgwqAgLyoKPj4+ IMKgwqDCoMKgwqDCoMKgwqDCoCAqIFJlc3RvcmUgdGhlIFNQIGZyb20gdGhlIEZQLCBhbmQgcmVz dG9yZSB0aGUgRlAgYW5kIExSIAo+Pj4gZnJvbSB0aGUgZnJhbWUKPj4+IGRpZmYgLS1naXQgYS9h cmNoL2FybTY0L2tlcm5lbC9pcnEuYyBiL2FyY2gvYXJtNjQva2VybmVsL2lycS5jCj4+PiBpbmRl eCBjMzZhZDIwYTUyZjMuLjAwM2RiNjA1YmM0ZiAxMDA2NDQKPj4+IC0tLSBhL2FyY2gvYXJtNjQv a2VybmVsL2lycS5jCj4+PiArKysgYi9hcmNoL2FybTY0L2tlcm5lbC9pcnEuYwo+Pj4gQEAgLTcz LDE0ICs3MywxNSBAQCBzdGF0aWMgdm9pZCBpbml0X2lycV9zdGFja3Modm9pZCkKPj4+IMKgICNl bmRpZgo+Pj4KPj4+IMKgICNpZm5kZWYgQ09ORklHX1BSRUVNUFRfUlQKPj4+IC1zdGF0aWMgdm9p ZCBfX19fZG9fc29mdGlycShzdHJ1Y3QgcHRfcmVncyAqcmVncykKPj4+ICtzdGF0aWMgdm9pZCBf X19fZG9fc29mdGlycShzdHJ1Y3QgcHRfcmVncyAqcmVncywKPj4+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB2b2lkICgqaGFuZGxlcikoc3RydWN0 IHB0X3JlZ3MgKikpCj4+PiDCoCB7Cj4+PiDCoMKgwqDCoMKgwqDCoMKgIF9fZG9fc29mdGlycSgp Owo+Pj4gwqAgfQo+Pj4KPj4+IMKgIHZvaWQgZG9fc29mdGlycV9vd25fc3RhY2sodm9pZCkKPj4+ IMKgIHsKPj4+IC3CoMKgwqDCoMKgwqAgY2FsbF9vbl9pcnFfc3RhY2soTlVMTCwgX19fX2RvX3Nv ZnRpcnEpOwo+Pj4gK8KgwqDCoMKgwqDCoCBjYWxsX29uX2lycV9zdGFjayhOVUxMLCBOVUxMLCBf X19fZG9fc29mdGlycSk7Cj4+PiDCoCB9Cj4+PiDCoCAjZW5kaWYKPj4+Cj4+PiAtLSAKPj4+IDIu MjAuMQo+Pj4KPiAKCi0tIApUaGFua3MsClFpCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1h cm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcv bWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==