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 C1182ECAAA1 for ; Tue, 6 Sep 2022 19:02:11 +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-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc: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=v951aDKW195o9Xq39In004pf1DmLL8Yqfj7+qkM6v+0=; b=48Uwr8v27QIrQW g8f/4gLUtQ7fLAd7iTEzIVKfz5SVPDi2Edl+tF7KAdYdoIfKwq9img1kUBD1NtI2MPh/SghOR3/af RqHOxMeGYC5C97xh+G75AE0daUoj4DHWhMbWFD8Qr0MJMR+h+abtL8squhQPJVWd/C6GaxFniAvVN sAThzszQTL2RF2csV0fnNelzsYznA0urPvKwEHI/kRz34/JqfvB/LRhz6fP3AwIncwbfTNdt96gqw R9txOH1OF5erAotIpRvB+m4VL47FRy+GF5qPThuCpboI5m/Xy3+Zvxt6AtmIdLhJGkvXN4nRivJpv EY1GksuW3m+yYDE3FvNg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oVdos-00GWxf-N3; Tue, 06 Sep 2022 19:01:11 +0000 Received: from mail-io1-xd36.google.com ([2607:f8b0:4864:20::d36]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oVdok-00GWqr-4M for linux-arm-kernel@lists.infradead.org; Tue, 06 Sep 2022 19:01:08 +0000 Received: by mail-io1-xd36.google.com with SMTP id 10so9712662iou.2 for ; Tue, 06 Sep 2022 12:00:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date; bh=VZWfKkBjgWu+gLzzTMPZReTUPnxocF2s2gADqtxYuc4=; b=IJClkJZA2ci9X9YudNpotHQ2jHP9kri5ddYGJUdBbxArAYAFuAVNpwyi0s3x2GDssE wKlyoqG+UBUO81USH5es0irAMzX6EFRrghUs1JE+MnRT/e+EpqHnfVk4E9YlsCNYKSZR Xl/zBXPiLh9E3zBsrJo+zynSOWH0uE160CEF9eobQTk+DSbznkbFMDIZX6ryEvldAITQ rGd7A4QdHAe65SeKpekqDuZxrEzMMNC8Uh0XEMVhqGWbIum8wwMgpRB0uFJeatcHhbst 7ZYGUBjpSVmToOuJcW+bSV+1ks9AULpHqc28iGBCjEreYwuWq9VPoAmFhemRoaSqPBCN 1QYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date; bh=VZWfKkBjgWu+gLzzTMPZReTUPnxocF2s2gADqtxYuc4=; b=4P7ux0I1bv6AUhc+nE4eaGLpeJieEiztF8GprCkitVixa1gK/GQgmiz62QpYIiDS97 x6d8VhkOVLNoABseM6qrV9MQxBgNcIj0zgWl7nsYuh2/jx0Szbm2mLWbnMbfou7BB1Fv vC4FUdD0t886Fpdx2ybSjFLRMPuscYY7nMghL1Zf3OEhTxQHX1sgm3G9Gm2ClqNAFWYi uWMiA81vDfW/Dya4aaKPmbGRjgON6OYnFaelNXnpumtSzdvLk/1NxKEd+BAdeksEQ0nB bW+PFn9ABRQaWpJeUvHyndvhVJDVsmEGPsJzAOwcY2hVxHjYFbt+k7K9usVT7zhCzuRm BMqQ== X-Gm-Message-State: ACgBeo3AYOesJwTeQFBkBLVYa0V5OHepmLmdL29Zrrctjyf6Bb1pKYOx h4Qz+EbTgbPjo+ITKjdaNby9HT4rrAMNPkLmrUsGhQ== X-Google-Smtp-Source: AA6agR7xDh5HT5Y9eMResmshIM/DOvn/mOOq2ia7QJOQf/o2UTiVbl/Ns26hFBPH0Ki7mcr19c0jix+nJSfeWWZE0GE= X-Received: by 2002:a6b:2a88:0:b0:68a:e898:2822 with SMTP id q130-20020a6b2a88000000b0068ae8982822mr24499577ioq.75.1662490858786; Tue, 06 Sep 2022 12:00:58 -0700 (PDT) MIME-Version: 1.0 References: <20220901173516.702122-1-surenb@google.com> <20220901173516.702122-7-surenb@google.com> <1624be86-4c17-46e5-fafc-eb8afb7b9b4a@linux.ibm.com> In-Reply-To: <1624be86-4c17-46e5-fafc-eb8afb7b9b4a@linux.ibm.com> From: Suren Baghdasaryan Date: Tue, 6 Sep 2022 12:00:47 -0700 Message-ID: Subject: Re: [RFC PATCH RESEND 06/28] mm: mark VMA as locked whenever vma->vm_flags are modified To: Laurent Dufour Cc: Andrew Morton , Michel Lespinasse , Jerome Glisse , Michal Hocko , Vlastimil Babka , Johannes Weiner , Mel Gorman , Davidlohr Bueso , Matthew Wilcox , "Liam R. Howlett" , Peter Zijlstra , Laurent Dufour , "Paul E . McKenney" , Andy Lutomirski , Song Liu , Peter Xu , David Hildenbrand , dhowells@redhat.com, Hugh Dickins , Sebastian Andrzej Siewior , Kent Overstreet , David Rientjes , Axel Rasmussen , Joel Fernandes , Minchan Kim , kernel-team , linux-mm , linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org, x86@kernel.org, LKML X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220906_120103_989303_83781CCC X-CRM114-Status: GOOD ( 30.82 ) 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-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gVHVlLCBTZXAgNiwgMjAyMiBhdCA3OjI3IEFNIExhdXJlbnQgRHVmb3VyIDxsZHVmb3VyQGxp bnV4LmlibS5jb20+IHdyb3RlOgo+Cj4gTGUgMDEvMDkvMjAyMiDDoCAxOTozNCwgU3VyZW4gQmFn aGRhc2FyeWFuIGEgw6ljcml0IDoKPiA+IFZNQSBmbGFnIG1vZGlmaWNhdGlvbnMgc2hvdWxkIGJl IGRvbmUgdW5kZXIgVk1BIGxvY2sgdG8gcHJldmVudCBjb25jdXJyZW50Cj4gPiBwYWdlIGZhdWx0 IGhhbmRsaW5nIGluIHRoYXQgYXJlYS4KPiA+Cj4gPiBTaWduZWQtb2ZmLWJ5OiBTdXJlbiBCYWdo ZGFzYXJ5YW4gPHN1cmVuYkBnb29nbGUuY29tPgo+ID4gLS0tCj4gPiAgZnMvcHJvYy90YXNrX21t dS5jIHwgMSArCj4gPiAgZnMvdXNlcmZhdWx0ZmQuYyAgIHwgNiArKysrKysKPiA+ICBtbS9tYWR2 aXNlLmMgICAgICAgfCAxICsKPiA+ICBtbS9tbG9jay5jICAgICAgICAgfCAyICsrCj4gPiAgbW0v bW1hcC5jICAgICAgICAgIHwgMSArCj4gPiAgbW0vbXByb3RlY3QuYyAgICAgIHwgMSArCj4gPiAg NiBmaWxlcyBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspCj4KPiBUaGVyZSBhcmUgZmV3IGNoYW5n ZXMgYWxzbyBkb25lIGluIHRoZSBkcml2ZXIncyBzcGFjZSwgZm9yIGluc3RhbmNlOgo+Cj4gKioq IGFyY2gveDg2L2tlcm5lbC9jcHUvc2d4L2RyaXZlci5jOgo+IHNneF9tbWFwWzk4XSAgICAgICAg ICAgICAgICAgICB2bWEtPnZtX2ZsYWdzIHw9IFZNX1BGTk1BUCB8IFZNX0RPTlRFWFBBTkQgfAo+ IFZNX0RPTlREVU1QIHwgVk1fSU87Cj4gKioqIGFyY2gveDg2L2tlcm5lbC9jcHUvc2d4L3ZpcnQu YzoKPiBzZ3hfdmVwY19tbWFwWzEwOF0gICAgICAgICAgICAgdm1hLT52bV9mbGFncyB8PSBWTV9Q Rk5NQVAgfCBWTV9JTyB8Cj4gVk1fRE9OVERVTVAgfCBWTV9ET05UQ09QWTsKPiAqKiogZHJpdmVy cy9kYXgvZGV2aWNlLmM6Cj4gZGF4X21tYXBbMzExXSAgICAgICAgICAgICAgICAgIHZtYS0+dm1f ZmxhZ3MgfD0gVk1fSFVHRVBBR0U7Cj4KPiBJIGd1ZXNzIHRoZXNlIGNoYW5nZXMgdG8gdm1fZmxh Z3Mgc2hvdWxkIGJlIHByb3RlY3RlZCBhcyB3ZWxsLCBvciB0byBiZQo+IGNoZWNrZWQgb25lIGJ5 IG9uZS4KClRoYW5rcyBmb3Igbm90aW5nIHRoZXNlISBJJ2xsIGFkZCBuZWNlc3NhcnkgbG9ja2lu ZyBoZXJlIGFuZCB3aWxsIGxvb2sKZm9yIG90aGVyIHBsYWNlcyBJIG1pZ2h0IGhhdmUgbWlzc2Vk LgoKPgo+ID4KPiA+IGRpZmYgLS1naXQgYS9mcy9wcm9jL3Rhc2tfbW11LmMgYi9mcy9wcm9jL3Rh c2tfbW11LmMKPiA+IGluZGV4IDRlMDAyMzY0M2Y4Yi4uY2VmZmE1YzJjNjUwIDEwMDY0NAo+ID4g LS0tIGEvZnMvcHJvYy90YXNrX21tdS5jCj4gPiArKysgYi9mcy9wcm9jL3Rhc2tfbW11LmMKPiA+ IEBAIC0xMjg1LDYgKzEyODUsNyBAQCBzdGF0aWMgc3NpemVfdCBjbGVhcl9yZWZzX3dyaXRlKHN0 cnVjdCBmaWxlICpmaWxlLCBjb25zdCBjaGFyIF9fdXNlciAqYnVmLAo+ID4gICAgICAgICAgICAg ICAgICAgICAgIGZvciAodm1hID0gbW0tPm1tYXA7IHZtYTsgdm1hID0gdm1hLT52bV9uZXh0KSB7 Cj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoISh2bWEtPnZtX2ZsYWdzICYg Vk1fU09GVERJUlRZKSkKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y29udGludWU7Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2bWFfbWFya19sb2Nr ZWQodm1hKTsKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtYS0+dm1fZmxhZ3Mg Jj0gflZNX1NPRlRESVJUWTsKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtYV9z ZXRfcGFnZV9wcm90KHZtYSk7Cj4gPiAgICAgICAgICAgICAgICAgICAgICAgfQo+ID4gZGlmZiAt LWdpdCBhL2ZzL3VzZXJmYXVsdGZkLmMgYi9mcy91c2VyZmF1bHRmZC5jCj4gPiBpbmRleCAxNzVk ZTcwZTNhZGYuLmZlNTU3YjNkMWMwNyAxMDA2NDQKPiA+IC0tLSBhL2ZzL3VzZXJmYXVsdGZkLmMK PiA+ICsrKyBiL2ZzL3VzZXJmYXVsdGZkLmMKPiA+IEBAIC02MjAsNiArNjIwLDcgQEAgc3RhdGlj IHZvaWQgdXNlcmZhdWx0ZmRfZXZlbnRfd2FpdF9jb21wbGV0aW9uKHN0cnVjdCB1c2VyZmF1bHRm ZF9jdHggKmN0eCwKPiA+ICAgICAgICAgICAgICAgbW1hcF93cml0ZV9sb2NrKG1tKTsKPiA+ICAg ICAgICAgICAgICAgZm9yICh2bWEgPSBtbS0+bW1hcDsgdm1hOyB2bWEgPSB2bWEtPnZtX25leHQp Cj4gPiAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZtYS0+dm1fdXNlcmZhdWx0ZmRfY3R4LmN0 eCA9PSByZWxlYXNlX25ld19jdHgpIHsKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHZtYV9tYXJrX2xvY2tlZCh2bWEpOwo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dm1hLT52bV91c2VyZmF1bHRmZF9jdHggPSBOVUxMX1ZNX1VGRkRfQ1RYOwo+ID4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdm1hLT52bV9mbGFncyAmPSB+X19WTV9VRkZEX0ZMQUdTOwo+ ID4gICAgICAgICAgICAgICAgICAgICAgIH0KPiA+IEBAIC02NTMsNiArNjU0LDcgQEAgaW50IGR1 cF91c2VyZmF1bHRmZChzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwgc3RydWN0IGxpc3RfaGVh ZCAqZmNzKQo+ID4KPiA+ICAgICAgIG9jdHggPSB2bWEtPnZtX3VzZXJmYXVsdGZkX2N0eC5jdHg7 Cj4gPiAgICAgICBpZiAoIW9jdHggfHwgIShvY3R4LT5mZWF0dXJlcyAmIFVGRkRfRkVBVFVSRV9F VkVOVF9GT1JLKSkgewo+ID4gKyAgICAgICAgICAgICB2bWFfbWFya19sb2NrZWQodm1hKTsKPiA+ ICAgICAgICAgICAgICAgdm1hLT52bV91c2VyZmF1bHRmZF9jdHggPSBOVUxMX1ZNX1VGRkRfQ1RY Owo+ID4gICAgICAgICAgICAgICB2bWEtPnZtX2ZsYWdzICY9IH5fX1ZNX1VGRkRfRkxBR1M7Cj4g PiAgICAgICAgICAgICAgIHJldHVybiAwOwo+ID4gQEAgLTczNCw2ICs3MzYsNyBAQCB2b2lkIG1y ZW1hcF91c2VyZmF1bHRmZF9wcmVwKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLAo+ID4gICAg ICAgICAgICAgICBhdG9taWNfaW5jKCZjdHgtPm1tYXBfY2hhbmdpbmcpOwo+ID4gICAgICAgfSBl bHNlIHsKPiA+ICAgICAgICAgICAgICAgLyogRHJvcCB1ZmZkIGNvbnRleHQgaWYgcmVtYXAgZmVh dHVyZSBub3QgZW5hYmxlZCAqLwo+ID4gKyAgICAgICAgICAgICB2bWFfbWFya19sb2NrZWQodm1h KTsKPiA+ICAgICAgICAgICAgICAgdm1hLT52bV91c2VyZmF1bHRmZF9jdHggPSBOVUxMX1ZNX1VG RkRfQ1RYOwo+ID4gICAgICAgICAgICAgICB2bWEtPnZtX2ZsYWdzICY9IH5fX1ZNX1VGRkRfRkxB R1M7Cj4gPiAgICAgICB9Cj4gPiBAQCAtODkxLDYgKzg5NCw3IEBAIHN0YXRpYyBpbnQgdXNlcmZh dWx0ZmRfcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKPiA+ ICAgICAgICAgICAgICAgICAgICAgICB2bWEgPSBwcmV2Owo+ID4gICAgICAgICAgICAgICBlbHNl Cj4gPiAgICAgICAgICAgICAgICAgICAgICAgcHJldiA9IHZtYTsKPiA+ICsgICAgICAgICAgICAg dm1hX21hcmtfbG9ja2VkKHZtYSk7Cj4gPiAgICAgICAgICAgICAgIHZtYS0+dm1fZmxhZ3MgPSBu ZXdfZmxhZ3M7Cj4gPiAgICAgICAgICAgICAgIHZtYS0+dm1fdXNlcmZhdWx0ZmRfY3R4ID0gTlVM TF9WTV9VRkZEX0NUWDsKPiA+ICAgICAgIH0KPiA+IEBAIC0xNDQ5LDYgKzE0NTMsNyBAQCBzdGF0 aWMgaW50IHVzZXJmYXVsdGZkX3JlZ2lzdGVyKHN0cnVjdCB1c2VyZmF1bHRmZF9jdHggKmN0eCwK PiA+ICAgICAgICAgICAgICAgICogdGhlIG5leHQgdm1hIHdhcyBtZXJnZWQgaW50byB0aGUgY3Vy cmVudCBvbmUgYW5kCj4gPiAgICAgICAgICAgICAgICAqIHRoZSBjdXJyZW50IG9uZSBoYXMgbm90 IGJlZW4gdXBkYXRlZCB5ZXQuCj4gPiAgICAgICAgICAgICAgICAqLwo+ID4gKyAgICAgICAgICAg ICB2bWFfbWFya19sb2NrZWQodm1hKTsKPiA+ICAgICAgICAgICAgICAgdm1hLT52bV9mbGFncyA9 IG5ld19mbGFnczsKPiA+ICAgICAgICAgICAgICAgdm1hLT52bV91c2VyZmF1bHRmZF9jdHguY3R4 ID0gY3R4Owo+ID4KPiA+IEBAIC0xNjMwLDYgKzE2MzUsNyBAQCBzdGF0aWMgaW50IHVzZXJmYXVs dGZkX3VucmVnaXN0ZXIoc3RydWN0IHVzZXJmYXVsdGZkX2N0eCAqY3R4LAo+ID4gICAgICAgICAg ICAgICAgKiB0aGUgbmV4dCB2bWEgd2FzIG1lcmdlZCBpbnRvIHRoZSBjdXJyZW50IG9uZSBhbmQK PiA+ICAgICAgICAgICAgICAgICogdGhlIGN1cnJlbnQgb25lIGhhcyBub3QgYmVlbiB1cGRhdGVk IHlldC4KPiA+ICAgICAgICAgICAgICAgICovCj4gPiArICAgICAgICAgICAgIHZtYV9tYXJrX2xv Y2tlZCh2bWEpOwo+ID4gICAgICAgICAgICAgICB2bWEtPnZtX2ZsYWdzID0gbmV3X2ZsYWdzOwo+ ID4gICAgICAgICAgICAgICB2bWEtPnZtX3VzZXJmYXVsdGZkX2N0eCA9IE5VTExfVk1fVUZGRF9D VFg7Cj4gPgo+ID4gZGlmZiAtLWdpdCBhL21tL21hZHZpc2UuYyBiL21tL21hZHZpc2UuYwo+ID4g aW5kZXggNWYwZjA5NDhhNTBlLi5hMTczZjAwMjVhYmQgMTAwNjQ0Cj4gPiAtLS0gYS9tbS9tYWR2 aXNlLmMKPiA+ICsrKyBiL21tL21hZHZpc2UuYwo+ID4gQEAgLTE4MSw2ICsxODEsNyBAQCBzdGF0 aWMgaW50IG1hZHZpc2VfdXBkYXRlX3ZtYShzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwKPiA+ ICAgICAgIC8qCj4gPiAgICAgICAgKiB2bV9mbGFncyBpcyBwcm90ZWN0ZWQgYnkgdGhlIG1tYXBf bG9jayBoZWxkIGluIHdyaXRlIG1vZGUuCj4gPiAgICAgICAgKi8KPiA+ICsgICAgIHZtYV9tYXJr X2xvY2tlZCh2bWEpOwo+ID4gICAgICAgdm1hLT52bV9mbGFncyA9IG5ld19mbGFnczsKPiA+ICAg ICAgIGlmICghdm1hLT52bV9maWxlKSB7Cj4gPiAgICAgICAgICAgICAgIGVycm9yID0gcmVwbGFj ZV9hbm9uX3ZtYV9uYW1lKHZtYSwgYW5vbl9uYW1lKTsKPiA+IGRpZmYgLS1naXQgYS9tbS9tbG9j ay5jIGIvbW0vbWxvY2suYwo+ID4gaW5kZXggYjE0ZTkyOTA4NGNjLi5mNjJlMWE0ZDA1ZjIgMTAw NjQ0Cj4gPiAtLS0gYS9tbS9tbG9jay5jCj4gPiArKysgYi9tbS9tbG9jay5jCj4gPiBAQCAtMzgw LDYgKzM4MCw3IEBAIHN0YXRpYyB2b2lkIG1sb2NrX3ZtYV9wYWdlc19yYW5nZShzdHJ1Y3Qgdm1f YXJlYV9zdHJ1Y3QgKnZtYSwKPiA+ICAgICAgICAqLwo+ID4gICAgICAgaWYgKG5ld2ZsYWdzICYg Vk1fTE9DS0VEKQo+ID4gICAgICAgICAgICAgICBuZXdmbGFncyB8PSBWTV9JTzsKPiA+ICsgICAg IHZtYV9tYXJrX2xvY2tlZCh2bWEpOwo+ID4gICAgICAgV1JJVEVfT05DRSh2bWEtPnZtX2ZsYWdz LCBuZXdmbGFncyk7Cj4gPgo+ID4gICAgICAgbHJ1X2FkZF9kcmFpbigpOwo+ID4gQEAgLTQ1Niw2 ICs0NTcsNyBAQCBzdGF0aWMgaW50IG1sb2NrX2ZpeHVwKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAq dm1hLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKipwcmV2LAo+ID4KPiA+ICAgICAgIGlmICgobmV3 ZmxhZ3MgJiBWTV9MT0NLRUQpICYmIChvbGRmbGFncyAmIFZNX0xPQ0tFRCkpIHsKPiA+ICAgICAg ICAgICAgICAgLyogTm8gd29yayB0byBkbywgYW5kIG1sb2NraW5nIHR3aWNlIHdvdWxkIGJlIHdy b25nICovCj4gPiArICAgICAgICAgICAgIHZtYV9tYXJrX2xvY2tlZCh2bWEpOwo+ID4gICAgICAg ICAgICAgICB2bWEtPnZtX2ZsYWdzID0gbmV3ZmxhZ3M7Cj4gPiAgICAgICB9IGVsc2Ugewo+ID4g ICAgICAgICAgICAgICBtbG9ja192bWFfcGFnZXNfcmFuZ2Uodm1hLCBzdGFydCwgZW5kLCBuZXdm bGFncyk7Cj4gPiBkaWZmIC0tZ2l0IGEvbW0vbW1hcC5jIGIvbW0vbW1hcC5jCj4gPiBpbmRleCA2 OTNlNjc3NmJlMzkuLmY4OWM5YjA1ODEwNSAxMDA2NDQKPiA+IC0tLSBhL21tL21tYXAuYwo+ID4g KysrIGIvbW0vbW1hcC5jCj4gPiBAQCAtMTgxOCw2ICsxODE4LDcgQEAgdW5zaWduZWQgbG9uZyBt bWFwX3JlZ2lvbihzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgbG9uZyBhZGRyLAo+ID4gIG91 dDoKPiA+ICAgICAgIHBlcmZfZXZlbnRfbW1hcCh2bWEpOwo+ID4KPiA+ICsgICAgIHZtYV9tYXJr X2xvY2tlZCh2bWEpOwo+ID4gICAgICAgdm1fc3RhdF9hY2NvdW50KG1tLCB2bV9mbGFncywgbGVu ID4+IFBBR0VfU0hJRlQpOwo+ID4gICAgICAgaWYgKHZtX2ZsYWdzICYgVk1fTE9DS0VEKSB7Cj4g PiAgICAgICAgICAgICAgIGlmICgodm1fZmxhZ3MgJiBWTV9TUEVDSUFMKSB8fCB2bWFfaXNfZGF4 KHZtYSkgfHwKPgo+IEkgZ3Vlc3MsIHRoaXMgZG9lc24ndCByZWFsbHkgaW1wYWN0LCBidXQgdGhl IGNhbGwgdG8gdm1hX21hcmtfbG9ja2VkKHZtYSkKPiBtYXkgYmUgZG9uZSBvbmx5IGluIHRoZSBj YXNlIHRoZSB2bV9mbGFncyBmaWVsZCBpcyB0b3VjaGVkLgo+IFNvbWV0aGluZyBsaWtlIHRoaXM6 Cj4KPiAgICAgICAgIHZtX3N0YXRfYWNjb3VudChtbSwgdm1fZmxhZ3MsIGxlbiA+PiBQQUdFX1NI SUZUKTsKPiAgICAgICAgIGlmICh2bV9mbGFncyAmIFZNX0xPQ0tFRCkgewo+ICAgICAgICAgICAg ICAgICBpZiAoKHZtX2ZsYWdzICYgVk1fU1BFQ0lBTCkgfHwgdm1hX2lzX2RheCh2bWEpIHx8Cj4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzX3ZtX2h1Z2V0bGJfcGFn ZSh2bWEpIHx8Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZtYSA9 PSBnZXRfZ2F0ZV92bWEoY3VycmVudC0+bW0pKQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB2bWEgPT0gZ2V0X2dhdGVfdm1hKGN1cnJlbnQtPm1tKSkgewo+ICsgICAg ICAgICAgICAgICAgICAgICAgIHZtYV9tYXJrX2xvY2tlZCh2bWEpOwo+ICAgICAgICAgICAgICAg ICAgICAgICAgIHZtYS0+dm1fZmxhZ3MgJj0gVk1fTE9DS0VEX0NMRUFSX01BU0s7Cj4gLSAgICAg ICAgICAgICAgIGVsc2UKPiArICAgICAgICAgICAgICAgfSBlbHNlCj4gICAgICAgICAgICAgICAg ICAgICAgICAgbW0tPmxvY2tlZF92bSArPSAobGVuID4+IFBBR0VfU0hJRlQpOwo+ICAgICAgICAg fQo+Cj4KPiA+IGRpZmYgLS1naXQgYS9tbS9tcHJvdGVjdC5jIGIvbW0vbXByb3RlY3QuYwo+ID4g aW5kZXggYmM2YmRkZDE1NmNhLi5kZjQ3ZmMyMWIwZTQgMTAwNjQ0Cj4gPiAtLS0gYS9tbS9tcHJv dGVjdC5jCj4gPiArKysgYi9tbS9tcHJvdGVjdC5jCj4gPiBAQCAtNjIxLDYgKzYyMSw3IEBAIG1w cm90ZWN0X2ZpeHVwKHN0cnVjdCBtbXVfZ2F0aGVyICp0bGIsIHN0cnVjdCB2bV9hcmVhX3N0cnVj dCAqdm1hLAo+ID4gICAgICAgICogdm1fZmxhZ3MgYW5kIHZtX3BhZ2VfcHJvdCBhcmUgcHJvdGVj dGVkIGJ5IHRoZSBtbWFwX2xvY2sKPiA+ICAgICAgICAqIGhlbGQgaW4gd3JpdGUgbW9kZS4KPiA+ ICAgICAgICAqLwo+ID4gKyAgICAgdm1hX21hcmtfbG9ja2VkKHZtYSk7Cj4gPiAgICAgICB2bWEt PnZtX2ZsYWdzID0gbmV3ZmxhZ3M7Cj4gPiAgICAgICAvKgo+ID4gICAgICAgICogV2Ugd2FudCB0 byBjaGVjayBtYW51YWxseSBpZiB3ZSBjYW4gY2hhbmdlIGluZGl2aWR1YWwgUFRFcyB3cml0YWJs ZQo+CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51 eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVh ZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1h cm0ta2VybmVsCg==