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 X-Spam-Level: X-Spam-Status: No, score=-6.5 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 69149CA9EAF for ; Thu, 24 Oct 2019 13:07:39 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 3987D20659 for ; Thu, 24 Oct 2019 13:07:39 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="paZjlQYT"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="tUrpbdi8" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3987D20659 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=CS8fb5HSzv6zY21ZlrNi2nTA6XnNF0FVL+OVI4LkikM=; b=paZjlQYTZLkZV2 ohwv2RS0qNBm/DgvXd9RuN02fHipZoafCKYHqtJzAzYM4zP7EMRRj2By9TRV5W5Msqf1OA+rFBqFm lC0F/o6rVqWJTf2+ckdknelB6zMnMzgMyvqt7vEHfhvcp/wRQm1Ho+e9BQWzNT8e79dS3ItTo4jE3 uvpoQuMix3kgVYLbi79Uv/rkiLzdadUpsaNgv0+5CyEGf2h2t3qDYFFZjxrgxIy7hgAMEebBGt5wO LYSlff12GvRyTDxfd64tIaovLtO1+Y7Mi/THxcACehA+hYB03R35G39742SARrTMAAEUB4ypUOSbO 1YXs6M/khwbSpIPUSc1g==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1iNcq2-0002Ge-Rk; Thu, 24 Oct 2019 13:07:38 +0000 Received: from mail-lj1-x243.google.com ([2a00:1450:4864:20::243]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1iNcpy-0002Fo-Q6 for linux-arm-kernel@lists.infradead.org; Thu, 24 Oct 2019 13:07:36 +0000 Received: by mail-lj1-x243.google.com with SMTP id y3so24957522ljj.6 for ; Thu, 24 Oct 2019 06:07:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=FOM7ndVHXZYwpn+oC9FBYu9U1A1waA78aHf4RJR9TG4=; b=tUrpbdi8Eq04JfJSCU2ivYJh7UkVx4nqIXjqa8J9drpcNlEVXcNo4a9YwE/JAmjIyu TRDJxWh5NoPsRPbYJHYEXSJmYcAvR1763uPXPh7WDgnuz8axippQY0aZ5jphZUvKJOUq ezEU+BUHXhPAWfutE/aUnkq1vAUfYqjsQy1OzzXrf9Ah2vlUA1EzIyvQIJcjMTBPEuM+ GcE2jhkR1lGAVhjvtZD4gE5xQ5WHb30S1lFUeq30zGi8KzCyo95piwJ590DLLGjrn+v9 FxaPlAT75rgyIg4RKDfXjskQSEOiA1ihxXAVaXK0TjbMhSVvAT4EzHb0mCAYRYcN9/Pk +VVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=FOM7ndVHXZYwpn+oC9FBYu9U1A1waA78aHf4RJR9TG4=; b=jnI2zd1sa2Nnc5JufdpFQBfaw3FBcesfqwFuKXsV7XxvzduqEiRBinkz3Fj3OumyD8 GeerV10sDucLvUYAE5LWR3xyhou8nka1JbWYW46uZIYwIXqoPO8zCDNtY9NPek9Tfwv8 aXRCYL/RtpYjkyXf3mAQvZO83uEhF8t4xub4eZjMHGGy7owE+yr5qyUulFOGz/fGhbxu KkCt+vYFd+/etUD4otqPLQjK73cAo7Aif2TwKCZfYweM1VNl+/AbChEiEcLGevpomRN3 tHahdFhWo1xlxRvHIPWbWo+/NmMI6McLpOGo0Mq4pPkKkZlXl8tnGmL2mwfjCvEPcvOh 1ZWQ== X-Gm-Message-State: APjAAAW9cKBvXNVjZzp4hw7J+EkE2pEDXlbfS48+nNf1GNImg7DbQ78X 0AwvR6D2Rvdf9TKHNGbNkpW84T8ZbF5FWiKKRBc= X-Google-Smtp-Source: APXvYqw5KIftPmypxtxt7CnPqUUFBNnsiv5OeK7obTXadnJ3YzS5IG8h5KuyUgciUiVK1/xe2qKna7NwxkamCsQRO6s= X-Received: by 2002:a2e:3617:: with SMTP id d23mr4728822lja.169.1571922452313; Thu, 24 Oct 2019 06:07:32 -0700 (PDT) MIME-Version: 1.0 References: <20191018101248.33727-1-steven.price@arm.com> <20191018101248.33727-15-steven.price@arm.com> In-Reply-To: <20191018101248.33727-15-steven.price@arm.com> From: Zong Li Date: Thu, 24 Oct 2019 21:07:20 +0800 Message-ID: Subject: Re: [PATCH v12 14/22] mm: pagewalk: Add 'depth' parameter to pte_hole To: Steven Price X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191024_060734_844648_C689A59B X-CRM114-Status: GOOD ( 25.30 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , x86@kernel.org, Arnd Bergmann , Ard Biesheuvel , Peter Zijlstra , Catalin Marinas , Dave Hansen , Linux Kernel Mailing List , linux-mm@kvack.org, =?UTF-8?B?SsOpcsO0bWUgR2xpc3Nl?= , Ingo Molnar , Borislav Petkov , Andy Lutomirski , "H. Peter Anvin" , James Morse , Thomas Gleixner , Will Deacon , Andrew Morton , linux-arm-kernel@lists.infradead.org, "Liang, Kan" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org U3RldmVuIFByaWNlIDxzdGV2ZW4ucHJpY2VAYXJtLmNvbT4g5pa8IDIwMTnlubQxMOaciDE55pel IOmAseWFrSDkuIvljYg0OjEz5a+r6YGT77yaCj4KPiBUaGUgcHRlX2hvbGUoKSBjYWxsYmFjayBp cyBjYWxsZWQgYXQgbXVsdGlwbGUgbGV2ZWxzIG9mIHRoZSBwYWdlIHRhYmxlcy4KPiBDb2RlIGR1 bXBpbmcgdGhlIGtlcm5lbCBwYWdlIHRhYmxlcyBuZWVkcyB0byBrbm93IHdoYXQgYXQgd2hhdCBk ZXB0aAo+IHRoZSBtaXNzaW5nIGVudHJ5IGlzLiBBZGQgdGhpcyBpcyBhbiBleHRyYSBwYXJhbWV0 ZXIgdG8gcHRlX2hvbGUoKS4KPiBXaGVuIHRoZSBkZXB0aCBpc24ndCBrbm93IChlLmcuIHByb2Nl c3NpbmcgYSB2bWEpIHRoZW4gLTEgaXMgcGFzc2VkLgo+Cj4gVGhlIGRlcHRoIHRoYXQgaXMgcmVw b3J0ZWQgaXMgdGhlIGFjdHVhbCBsZXZlbCB3aGVyZSB0aGUgZW50cnkgaXMKPiBtaXNzaW5nIChp Z25vcmluZyBhbnkgZm9sZGluZyB0aGF0IGlzIGluIHBsYWNlKSwgaS5lLiBhbnkgbGV2ZWxzIHdo ZXJlCj4gUFRSU19QRVJfUD9EIGlzIHNldCB0byAxIGFyZSBpZ25vcmVkLgo+Cj4gTm90ZSB0aGF0 IGRlcHRoIHN0YXJ0cyBhdCAwIGZvciBhIFBHRCBzbyB0aGF0IFBVRC9QTUQvUFRFIHJldGFpbiB0 aGVpcgo+IG5hdHVyYWwgbnVtYmVycyBhcyBsZXZlbHMgMi8zLzQuCj4KPiBTaWduZWQtb2ZmLWJ5 OiBTdGV2ZW4gUHJpY2UgPHN0ZXZlbi5wcmljZUBhcm0uY29tPgo+IC0tLQo+ICBmcy9wcm9jL3Rh c2tfbW11LmMgICAgICAgfCAgNCArKy0tCj4gIGluY2x1ZGUvbGludXgvcGFnZXdhbGsuaCB8ICA3 ICsrKysrLS0KPiAgbW0vaG1tLmMgICAgICAgICAgICAgICAgIHwgIDggKysrKy0tLS0KPiAgbW0v bWlncmF0ZS5jICAgICAgICAgICAgIHwgIDUgKysrLS0KPiAgbW0vbWluY29yZS5jICAgICAgICAg ICAgIHwgIDEgKwo+ICBtbS9wYWdld2Fsay5jICAgICAgICAgICAgfCAzMSArKysrKysrKysrKysr KysrKysrKysrKysrLS0tLS0tCj4gIDYgZmlsZXMgY2hhbmdlZCwgNDAgaW5zZXJ0aW9ucygrKSwg MTYgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZnMvcHJvYy90YXNrX21tdS5jIGIvZnMv cHJvYy90YXNrX21tdS5jCj4gaW5kZXggOTQ0MjYzMWZkNGFmLi4zYmE5YWU4M2JmZjUgMTAwNjQ0 Cj4gLS0tIGEvZnMvcHJvYy90YXNrX21tdS5jCj4gKysrIGIvZnMvcHJvYy90YXNrX21tdS5jCj4g QEAgLTUwNSw3ICs1MDUsNyBAQCBzdGF0aWMgdm9pZCBzbWFwc19hY2NvdW50KHN0cnVjdCBtZW1f c2l6ZV9zdGF0cyAqbXNzLCBzdHJ1Y3QgcGFnZSAqcGFnZSwKPgo+ICAjaWZkZWYgQ09ORklHX1NI TUVNCj4gIHN0YXRpYyBpbnQgc21hcHNfcHRlX2hvbGUodW5zaWduZWQgbG9uZyBhZGRyLCB1bnNp Z25lZCBsb25nIGVuZCwKPiAtICAgICAgICAgICAgICAgc3RydWN0IG1tX3dhbGsgKndhbGspCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICBfX2Fsd2F5c191bnVzZWQgaW50IGRlcHRoLCBzdHJ1 Y3QgbW1fd2FsayAqd2FsaykKPiAgewo+ICAgICAgICAgc3RydWN0IG1lbV9zaXplX3N0YXRzICpt c3MgPSB3YWxrLT5wcml2YXRlOwo+Cj4gQEAgLTEyODIsNyArMTI4Miw3IEBAIHN0YXRpYyBpbnQg YWRkX3RvX3BhZ2VtYXAodW5zaWduZWQgbG9uZyBhZGRyLCBwYWdlbWFwX2VudHJ5X3QgKnBtZSwK PiAgfQo+Cj4gIHN0YXRpYyBpbnQgcGFnZW1hcF9wdGVfaG9sZSh1bnNpZ25lZCBsb25nIHN0YXJ0 LCB1bnNpZ25lZCBsb25nIGVuZCwKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCBtbV93YWxrICp3YWxrKQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2Fsd2F5 c191bnVzZWQgaW50IGRlcHRoLCBzdHJ1Y3QgbW1fd2FsayAqd2FsaykKPiAgewo+ICAgICAgICAg c3RydWN0IHBhZ2VtYXByZWFkICpwbSA9IHdhbGstPnByaXZhdGU7Cj4gICAgICAgICB1bnNpZ25l ZCBsb25nIGFkZHIgPSBzdGFydDsKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9wYWdld2Fs ay5oIGIvaW5jbHVkZS9saW51eC9wYWdld2Fsay5oCj4gaW5kZXggZGY0MjQxOTdhMjVhLi45MDQ2 NmQ2MGY4N2EgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9saW51eC9wYWdld2Fsay5oCj4gKysrIGIv aW5jbHVkZS9saW51eC9wYWdld2Fsay5oCj4gQEAgLTE3LDcgKzE3LDEwIEBAIHN0cnVjdCBtbV93 YWxrOwo+ICAgKiAgICAgICAgICAgICAgICAgICAgIHNwbGl0X2h1Z2VfcGFnZSgpIGluc3RlYWQg b2YgaGFuZGxpbmcgaXQgZXhwbGljaXRseS4KPiAgICogQHB0ZV9lbnRyeTogICAgICAgICBpZiBz ZXQsIGNhbGxlZCBmb3IgZWFjaCBub24tZW1wdHkgUFRFIChsb3dlc3QtbGV2ZWwpCj4gICAqICAg ICAgICAgICAgICAgICAgICAgZW50cnkKPiAtICogQHB0ZV9ob2xlOiAgICAgICAgICBpZiBzZXQs IGNhbGxlZCBmb3IgZWFjaCBob2xlIGF0IGFsbCBsZXZlbHMKPiArICogQHB0ZV9ob2xlOiAgICAg ICAgICBpZiBzZXQsIGNhbGxlZCBmb3IgZWFjaCBob2xlIGF0IGFsbCBsZXZlbHMsCj4gKyAqICAg ICAgICAgICAgICAgICAgICAgZGVwdGggaXMgLTEgaWYgbm90IGtub3duLCAwOlBHRCwgMTpQNEQs IDI6UFVELCAzOlBNRAo+ICsgKiAgICAgICAgICAgICAgICAgICAgIDQ6UFRFLiBBbnkgZm9sZGVk IGRlcHRocyAod2hlcmUgUFRSU19QRVJfUD9EIGlzIGVxdWFsCj4gKyAqICAgICAgICAgICAgICAg ICAgICAgdG8gMSkgYXJlIHNraXBwZWQuCj4gICAqIEBodWdldGxiX2VudHJ5OiAgICAgaWYgc2V0 LCBjYWxsZWQgZm9yIGVhY2ggaHVnZXRsYiBlbnRyeQo+ICAgKiBAdGVzdF93YWxrOiAgICAgICAg IGNhbGxlciBzcGVjaWZpYyBjYWxsYmFjayBmdW5jdGlvbiB0byBkZXRlcm1pbmUgd2hldGhlcgo+ ICAgKiAgICAgICAgICAgICAgICAgICAgIHdlIHdhbGsgb3ZlciB0aGUgY3VycmVudCB2bWEgb3Ig bm90LiBSZXR1cm5pbmcgMCBtZWFucwo+IEBAIC00NSw3ICs0OCw3IEBAIHN0cnVjdCBtbV93YWxr X29wcyB7Cj4gICAgICAgICBpbnQgKCpwdGVfZW50cnkpKHB0ZV90ICpwdGUsIHVuc2lnbmVkIGxv bmcgYWRkciwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBuZXh0LCBz dHJ1Y3QgbW1fd2FsayAqd2Fsayk7Cj4gICAgICAgICBpbnQgKCpwdGVfaG9sZSkodW5zaWduZWQg bG9uZyBhZGRyLCB1bnNpZ25lZCBsb25nIG5leHQsCj4gLSAgICAgICAgICAgICAgICAgICAgICAg c3RydWN0IG1tX3dhbGsgKndhbGspOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIGludCBkZXB0 aCwgc3RydWN0IG1tX3dhbGsgKndhbGspOwo+ICAgICAgICAgaW50ICgqaHVnZXRsYl9lbnRyeSko cHRlX3QgKnB0ZSwgdW5zaWduZWQgbG9uZyBobWFzaywKPiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHVuc2lnbmVkIGxvbmcgYWRkciwgdW5zaWduZWQgbG9uZyBuZXh0LAo+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG1tX3dhbGsgKndhbGspOwo+IGRpZmYgLS1naXQg YS9tbS9obW0uYyBiL21tL2htbS5jCj4gaW5kZXggOTAyZjVmYTZiZjkzLi5kZjNkNTMxYzhmMmQg MTAwNjQ0Cj4gLS0tIGEvbW0vaG1tLmMKPiArKysgYi9tbS9obW0uYwo+IEBAIC0zNzYsNyArMzc2 LDcgQEAgc3RhdGljIHZvaWQgaG1tX3JhbmdlX25lZWRfZmF1bHQoY29uc3Qgc3RydWN0IGhtbV92 bWFfd2FsayAqaG1tX3ZtYV93YWxrLAo+ICB9Cj4KPiAgc3RhdGljIGludCBobW1fdm1hX3dhbGtf aG9sZSh1bnNpZ25lZCBsb25nIGFkZHIsIHVuc2lnbmVkIGxvbmcgZW5kLAo+IC0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RydWN0IG1tX3dhbGsgKndhbGspCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICBfX2Fsd2F5c191bnVzZWQgaW50IGRlcHRoLCBzdHJ1Y3QgbW1fd2FsayAq d2FsaykKPiAgewo+ICAgICAgICAgc3RydWN0IGhtbV92bWFfd2FsayAqaG1tX3ZtYV93YWxrID0g d2Fsay0+cHJpdmF0ZTsKPiAgICAgICAgIHN0cnVjdCBobW1fcmFuZ2UgKnJhbmdlID0gaG1tX3Zt YV93YWxrLT5yYW5nZTsKPiBAQCAtNTY0LDcgKzU2NCw3IEBAIHN0YXRpYyBpbnQgaG1tX3ZtYV93 YWxrX3BtZChwbWRfdCAqcG1kcCwKPiAgYWdhaW46Cj4gICAgICAgICBwbWQgPSBSRUFEX09OQ0Uo KnBtZHApOwo+ICAgICAgICAgaWYgKHBtZF9ub25lKHBtZCkpCj4gLSAgICAgICAgICAgICAgIHJl dHVybiBobW1fdm1hX3dhbGtfaG9sZShzdGFydCwgZW5kLCB3YWxrKTsKPiArICAgICAgICAgICAg ICAgcmV0dXJuIGhtbV92bWFfd2Fsa19ob2xlKHN0YXJ0LCBlbmQsIC0xLCB3YWxrKTsKPgo+ICAg ICAgICAgaWYgKHRocF9taWdyYXRpb25fc3VwcG9ydGVkKCkgJiYgaXNfcG1kX21pZ3JhdGlvbl9l bnRyeShwbWQpKSB7Cj4gICAgICAgICAgICAgICAgIGJvb2wgZmF1bHQsIHdyaXRlX2ZhdWx0Owo+ IEBAIC02NjYsNyArNjY2LDcgQEAgc3RhdGljIGludCBobW1fdm1hX3dhbGtfcHVkKHB1ZF90ICpw dWRwLCB1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCwKPiAgYWdhaW46Cj4g ICAgICAgICBwdWQgPSBSRUFEX09OQ0UoKnB1ZHApOwo+ICAgICAgICAgaWYgKHB1ZF9ub25lKHB1 ZCkpCj4gLSAgICAgICAgICAgICAgIHJldHVybiBobW1fdm1hX3dhbGtfaG9sZShzdGFydCwgZW5k LCB3YWxrKTsKPiArICAgICAgICAgICAgICAgcmV0dXJuIGhtbV92bWFfd2Fsa19ob2xlKHN0YXJ0 LCBlbmQsIC0xLCB3YWxrKTsKPgo+ICAgICAgICAgaWYgKHB1ZF9odWdlKHB1ZCkgJiYgcHVkX2Rl dm1hcChwdWQpKSB7Cj4gICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgaSwgbnBhZ2VzLCBw Zm47Cj4gQEAgLTY3NCw3ICs2NzQsNyBAQCBzdGF0aWMgaW50IGhtbV92bWFfd2Fsa19wdWQocHVk X3QgKnB1ZHAsIHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kLAo+ICAgICAg ICAgICAgICAgICBib29sIGZhdWx0LCB3cml0ZV9mYXVsdDsKPgo+ICAgICAgICAgICAgICAgICBp ZiAoIXB1ZF9wcmVzZW50KHB1ZCkpCj4gLSAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGht bV92bWFfd2Fsa19ob2xlKHN0YXJ0LCBlbmQsIHdhbGspOwo+ICsgICAgICAgICAgICAgICAgICAg ICAgIHJldHVybiBobW1fdm1hX3dhbGtfaG9sZShzdGFydCwgZW5kLCAtMSwgd2Fsayk7Cj4KPiAg ICAgICAgICAgICAgICAgaSA9IChhZGRyIC0gcmFuZ2UtPnN0YXJ0KSA+PiBQQUdFX1NISUZUOwo+ ICAgICAgICAgICAgICAgICBucGFnZXMgPSAoZW5kIC0gYWRkcikgPj4gUEFHRV9TSElGVDsKPiBk aWZmIC0tZ2l0IGEvbW0vbWlncmF0ZS5jIGIvbW0vbWlncmF0ZS5jCj4gaW5kZXggNGZlNDVkMTQy OGM4Li40MzUyNThkZjlhMzYgMTAwNjQ0Cj4gLS0tIGEvbW0vbWlncmF0ZS5jCj4gKysrIGIvbW0v bWlncmF0ZS5jCj4gQEAgLTIxMjMsNiArMjEyMyw3IEBAIGludCBtaWdyYXRlX21pc3BsYWNlZF90 cmFuc2h1Z2VfcGFnZShzdHJ1Y3QgbW1fc3RydWN0ICptbSwKPiAgI2lmZGVmIENPTkZJR19ERVZJ Q0VfUFJJVkFURQo+ICBzdGF0aWMgaW50IG1pZ3JhdGVfdm1hX2NvbGxlY3RfaG9sZSh1bnNpZ25l ZCBsb25nIHN0YXJ0LAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln bmVkIGxvbmcgZW5kLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fYWx3 YXlzX3VudXNlZCBpbnQgZGVwdGgsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc3RydWN0IG1tX3dhbGsgKndhbGspCj4gIHsKPiAgICAgICAgIHN0cnVjdCBtaWdyYXRlX3Zt YSAqbWlncmF0ZSA9IHdhbGstPnByaXZhdGU7Cj4gQEAgLTIxNjcsNyArMjE2OCw3IEBAIHN0YXRp YyBpbnQgbWlncmF0ZV92bWFfY29sbGVjdF9wbWQocG1kX3QgKnBtZHAsCj4KPiAgYWdhaW46Cj4g ICAgICAgICBpZiAocG1kX25vbmUoKnBtZHApKQo+IC0gICAgICAgICAgICAgICByZXR1cm4gbWln cmF0ZV92bWFfY29sbGVjdF9ob2xlKHN0YXJ0LCBlbmQsIHdhbGspOwo+ICsgICAgICAgICAgICAg ICByZXR1cm4gbWlncmF0ZV92bWFfY29sbGVjdF9ob2xlKHN0YXJ0LCBlbmQsIC0xLCB3YWxrKTsK Pgo+ICAgICAgICAgaWYgKHBtZF90cmFuc19odWdlKCpwbWRwKSkgewo+ICAgICAgICAgICAgICAg ICBzdHJ1Y3QgcGFnZSAqcGFnZTsKPiBAQCAtMjIwMCw3ICsyMjAxLDcgQEAgc3RhdGljIGludCBt aWdyYXRlX3ZtYV9jb2xsZWN0X3BtZChwbWRfdCAqcG1kcCwKPiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHJldHVybiBtaWdyYXRlX3ZtYV9jb2xsZWN0X3NraXAoc3RhcnQsIGVuZCwK PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgd2Fsayk7Cj4gICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBtZF9ub25lKCpw bWRwKSkKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBtaWdyYXRlX3Zt YV9jb2xsZWN0X2hvbGUoc3RhcnQsIGVuZCwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHJldHVybiBtaWdyYXRlX3ZtYV9jb2xsZWN0X2hvbGUoc3RhcnQsIGVuZCwgLTEsCj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHdhbGspOwo+ICAgICAgICAgICAgICAgICB9Cj4gICAgICAgICB9Cj4gZGlmZiAtLWdpdCBh L21tL21pbmNvcmUuYyBiL21tL21pbmNvcmUuYwo+IGluZGV4IDQ5YjZmYTJmNmFhMS4uMGU2ZGQ5 OTQ4ZjFhIDEwMDY0NAo+IC0tLSBhL21tL21pbmNvcmUuYwo+ICsrKyBiL21tL21pbmNvcmUuYwo+ IEBAIC0xMTIsNiArMTEyLDcgQEAgc3RhdGljIGludCBfX21pbmNvcmVfdW5tYXBwZWRfcmFuZ2Uo dW5zaWduZWQgbG9uZyBhZGRyLCB1bnNpZ25lZCBsb25nIGVuZCwKPiAgfQo+Cj4gIHN0YXRpYyBp bnQgbWluY29yZV91bm1hcHBlZF9yYW5nZSh1bnNpZ25lZCBsb25nIGFkZHIsIHVuc2lnbmVkIGxv bmcgZW5kLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19hbHdheXNfdW51 c2VkIGludCBkZXB0aCwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj dCBtbV93YWxrICp3YWxrKQo+ICB7Cj4gICAgICAgICB3YWxrLT5wcml2YXRlICs9IF9fbWluY29y ZV91bm1hcHBlZF9yYW5nZShhZGRyLCBlbmQsCj4gZGlmZiAtLWdpdCBhL21tL3BhZ2V3YWxrLmMg Yi9tbS9wYWdld2Fsay5jCj4gaW5kZXggNDNhY2ZmZWZkNDNmLi5iNjc0MDBkYzFkZWYgMTAwNjQ0 Cj4gLS0tIGEvbW0vcGFnZXdhbGsuYwo+ICsrKyBiL21tL3BhZ2V3YWxrLmMKPiBAQCAtNCw2ICs0 LDIyIEBACj4gICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgo+ICAjaW5jbHVkZSA8bGludXgvaHVn ZXRsYi5oPgo+Cj4gKy8qCj4gKyAqIFdlIHdhbnQgdG8ga25vdyB0aGUgcmVhbCBsZXZlbCB3aGVy ZSBhIGVudHJ5IGlzIGxvY2F0ZWQgaWdub3JpbmcgYW55Cj4gKyAqIGZvbGRpbmcgb2YgbGV2ZWxz IHdoaWNoIG1heSBiZSBoYXBwZW5pbmcuIEZvciBleGFtcGxlIGlmIHA0ZCBpcyBmb2xkZWQgdGhl bgo+ICsgKiBhIG1pc3NpbmcgZW50cnkgZm91bmQgYXQgbGV2ZWwgMSAocDRkKSBpcyBhY3R1YWxs eSBhdCBsZXZlbCAwIChwZ2QpLgo+ICsgKi8KPiArc3RhdGljIGludCByZWFsX2RlcHRoKGludCBk ZXB0aCkKPiArewo+ICsgICAgICAgaWYgKGRlcHRoID09IDMgJiYgUFRSU19QRVJfUE1EID09IDEp Cj4gKyAgICAgICAgICAgICAgIGRlcHRoID0gMjsKPiArICAgICAgIGlmIChkZXB0aCA9PSAyICYm IFBUUlNfUEVSX1BVRCA9PSAxKQo+ICsgICAgICAgICAgICAgICBkZXB0aCA9IDE7Cj4gKyAgICAg ICBpZiAoZGVwdGggPT0gMSAmJiBQVFJTX1BFUl9QNEQgPT0gMSkKPiArICAgICAgICAgICAgICAg ZGVwdGggPSAwOwo+ICsgICAgICAgcmV0dXJuIGRlcHRoOwo+ICt9Cj4gKwo+ICBzdGF0aWMgaW50 IHdhbGtfcHRlX3JhbmdlKHBtZF90ICpwbWQsIHVuc2lnbmVkIGxvbmcgYWRkciwgdW5zaWduZWQg bG9uZyBlbmQsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbW1fd2FsayAqd2Fs aykKPiAgewo+IEBAIC0zMyw2ICs0OSw3IEBAIHN0YXRpYyBpbnQgd2Fsa19wbWRfcmFuZ2UocHVk X3QgKnB1ZCwgdW5zaWduZWQgbG9uZyBhZGRyLCB1bnNpZ25lZCBsb25nIGVuZCwKPiAgICAgICAg IHVuc2lnbmVkIGxvbmcgbmV4dDsKPiAgICAgICAgIGNvbnN0IHN0cnVjdCBtbV93YWxrX29wcyAq b3BzID0gd2Fsay0+b3BzOwo+ICAgICAgICAgaW50IGVyciA9IDA7Cj4gKyAgICAgICBpbnQgZGVw dGggPSByZWFsX2RlcHRoKDMpOwo+Cj4gICAgICAgICBpZiAob3BzLT50ZXN0X3BtZCkgewo+ICAg ICAgICAgICAgICAgICBlcnIgPSBvcHMtPnRlc3RfcG1kKGFkZHIsIGVuZCwgcG1kX29mZnNldChw dWQsIDBVTCksIHdhbGspOwo+IEBAIC00OCw3ICs2NSw3IEBAIHN0YXRpYyBpbnQgd2Fsa19wbWRf cmFuZ2UocHVkX3QgKnB1ZCwgdW5zaWduZWQgbG9uZyBhZGRyLCB1bnNpZ25lZCBsb25nIGVuZCwK PiAgICAgICAgICAgICAgICAgbmV4dCA9IHBtZF9hZGRyX2VuZChhZGRyLCBlbmQpOwo+ICAgICAg ICAgICAgICAgICBpZiAocG1kX25vbmUoKnBtZCkpIHsKPiAgICAgICAgICAgICAgICAgICAgICAg ICBpZiAob3BzLT5wdGVfaG9sZSkKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVy ciA9IG9wcy0+cHRlX2hvbGUoYWRkciwgbmV4dCwgd2Fsayk7Cj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBlcnIgPSBvcHMtPnB0ZV9ob2xlKGFkZHIsIG5leHQsIGRlcHRoLCB3YWxr KTsKPiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXJyKQo+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYnJlYWs7Cj4gICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7 Cj4gQEAgLTkyLDYgKzEwOSw3IEBAIHN0YXRpYyBpbnQgd2Fsa19wdWRfcmFuZ2UocDRkX3QgKnA0 ZCwgdW5zaWduZWQgbG9uZyBhZGRyLCB1bnNpZ25lZCBsb25nIGVuZCwKPiAgICAgICAgIHVuc2ln bmVkIGxvbmcgbmV4dDsKPiAgICAgICAgIGNvbnN0IHN0cnVjdCBtbV93YWxrX29wcyAqb3BzID0g d2Fsay0+b3BzOwo+ICAgICAgICAgaW50IGVyciA9IDA7Cj4gKyAgICAgICBpbnQgZGVwdGggPSBy ZWFsX2RlcHRoKDIpOwo+Cj4gICAgICAgICBpZiAob3BzLT50ZXN0X3B1ZCkgewo+ICAgICAgICAg ICAgICAgICBlcnIgPSBvcHMtPnRlc3RfcHVkKGFkZHIsIGVuZCwgcHVkX29mZnNldChwNGQsIDBV TCksIHdhbGspOwo+IEBAIC0xMDcsNyArMTI1LDcgQEAgc3RhdGljIGludCB3YWxrX3B1ZF9yYW5n ZShwNGRfdCAqcDRkLCB1bnNpZ25lZCBsb25nIGFkZHIsIHVuc2lnbmVkIGxvbmcgZW5kLAo+ICAg ICAgICAgICAgICAgICBuZXh0ID0gcHVkX2FkZHJfZW5kKGFkZHIsIGVuZCk7Cj4gICAgICAgICAg ICAgICAgIGlmIChwdWRfbm9uZSgqcHVkKSkgewo+ICAgICAgICAgICAgICAgICAgICAgICAgIGlm IChvcHMtPnB0ZV9ob2xlKQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyID0g b3BzLT5wdGVfaG9sZShhZGRyLCBuZXh0LCB3YWxrKTsKPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGVyciA9IG9wcy0+cHRlX2hvbGUoYWRkciwgbmV4dCwgZGVwdGgsIHdhbGspOwo+ ICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnIpCj4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBicmVhazsKPiAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKPiBA QCAtMTQzLDYgKzE2MSw3IEBAIHN0YXRpYyBpbnQgd2Fsa19wNGRfcmFuZ2UocGdkX3QgKnBnZCwg dW5zaWduZWQgbG9uZyBhZGRyLCB1bnNpZ25lZCBsb25nIGVuZCwKPiAgICAgICAgIHVuc2lnbmVk IGxvbmcgbmV4dDsKPiAgICAgICAgIGNvbnN0IHN0cnVjdCBtbV93YWxrX29wcyAqb3BzID0gd2Fs ay0+b3BzOwo+ICAgICAgICAgaW50IGVyciA9IDA7Cj4gKyAgICAgICBpbnQgZGVwdGggPSByZWFs X2RlcHRoKDEpOwo+Cj4gICAgICAgICBpZiAob3BzLT50ZXN0X3A0ZCkgewo+ICAgICAgICAgICAg ICAgICBlcnIgPSBvcHMtPnRlc3RfcDRkKGFkZHIsIGVuZCwgcDRkX29mZnNldChwZ2QsIDBVTCks IHdhbGspOwo+IEBAIC0xNTcsNyArMTc2LDcgQEAgc3RhdGljIGludCB3YWxrX3A0ZF9yYW5nZShw Z2RfdCAqcGdkLCB1bnNpZ25lZCBsb25nIGFkZHIsIHVuc2lnbmVkIGxvbmcgZW5kLAo+ICAgICAg ICAgICAgICAgICBuZXh0ID0gcDRkX2FkZHJfZW5kKGFkZHIsIGVuZCk7Cj4gICAgICAgICAgICAg ICAgIGlmIChwNGRfbm9uZV9vcl9jbGVhcl9iYWQocDRkKSkgewo+ICAgICAgICAgICAgICAgICAg ICAgICAgIGlmIChvcHMtPnB0ZV9ob2xlKQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZXJyID0gb3BzLT5wdGVfaG9sZShhZGRyLCBuZXh0LCB3YWxrKTsKPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGVyciA9IG9wcy0+cHRlX2hvbGUoYWRkciwgbmV4dCwgZGVwdGgs IHdhbGspOwo+ICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnIpCj4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBicmVhazsKPiAgICAgICAgICAgICAgICAgICAgICAgICBjb250 aW51ZTsKPiBAQCAtMTg5LDcgKzIwOCw3IEBAIHN0YXRpYyBpbnQgd2Fsa19wZ2RfcmFuZ2UodW5z aWduZWQgbG9uZyBhZGRyLCB1bnNpZ25lZCBsb25nIGVuZCwKPiAgICAgICAgICAgICAgICAgbmV4 dCA9IHBnZF9hZGRyX2VuZChhZGRyLCBlbmQpOwo+ICAgICAgICAgICAgICAgICBpZiAocGdkX25v bmVfb3JfY2xlYXJfYmFkKHBnZCkpIHsKPiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAob3Bz LT5wdGVfaG9sZSkKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVyciA9IG9wcy0+ cHRlX2hvbGUoYWRkciwgbmV4dCwgd2Fsayk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBlcnIgPSBvcHMtPnB0ZV9ob2xlKGFkZHIsIG5leHQsIDAsIHdhbGspOwo+ICAgICAgICAg ICAgICAgICAgICAgICAgIGlmIChlcnIpCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBicmVhazsKPiAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKPiBAQCAtMjM2LDcg KzI1NSw3IEBAIHN0YXRpYyBpbnQgd2Fsa19odWdldGxiX3JhbmdlKHVuc2lnbmVkIGxvbmcgYWRk ciwgdW5zaWduZWQgbG9uZyBlbmQsCj4gICAgICAgICAgICAgICAgIGlmIChwdGUpCj4gICAgICAg ICAgICAgICAgICAgICAgICAgZXJyID0gb3BzLT5odWdldGxiX2VudHJ5KHB0ZSwgaG1hc2ssIGFk ZHIsIG5leHQsIHdhbGspOwo+ICAgICAgICAgICAgICAgICBlbHNlIGlmIChvcHMtPnB0ZV9ob2xl KQo+IC0gICAgICAgICAgICAgICAgICAgICAgIGVyciA9IG9wcy0+cHRlX2hvbGUoYWRkciwgbmV4 dCwgd2Fsayk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgZXJyID0gb3BzLT5wdGVfaG9sZShh ZGRyLCBuZXh0LCAtMSwgd2Fsayk7Cj4KPiAgICAgICAgICAgICAgICAgaWYgKGVycikKPiAgICAg ICAgICAgICAgICAgICAgICAgICBicmVhazsKPiBAQCAtMjgwLDcgKzI5OSw3IEBAIHN0YXRpYyBp bnQgd2Fsa19wYWdlX3Rlc3QodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQs Cj4gICAgICAgICBpZiAodm1hLT52bV9mbGFncyAmIFZNX1BGTk1BUCkgewo+ICAgICAgICAgICAg ICAgICBpbnQgZXJyID0gMTsKPiAgICAgICAgICAgICAgICAgaWYgKG9wcy0+cHRlX2hvbGUpCj4g LSAgICAgICAgICAgICAgICAgICAgICAgZXJyID0gb3BzLT5wdGVfaG9sZShzdGFydCwgZW5kLCB3 YWxrKTsKPiArICAgICAgICAgICAgICAgICAgICAgICBlcnIgPSBvcHMtPnB0ZV9ob2xlKHN0YXJ0 LCBlbmQsIC0xLCB3YWxrKTsKPiAgICAgICAgICAgICAgICAgcmV0dXJuIGVyciA/IGVyciA6IDE7 Cj4gICAgICAgICB9Cj4gICAgICAgICByZXR1cm4gMDsKPiAtLQo+IDIuMjAuMQo+CgpJdCdzIGdv b2QgdG8gbWUuCgpUZXN0ZWQtYnk6IFpvbmcgTGkgPHpvbmcubGlAc2lmaXZlLmNvbT4KCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJu ZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRw Oi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK