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 7F7F9ECAAD5 for ; Tue, 6 Sep 2022 13:56:00 +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: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=fIdrwRFpX67zzsfTc4HnjRR+5hoyshA6CcOrgzo/ODY=; b=xKlTaA+TVbUhA5 ELK26kErC2OromqYQjCsXhS32JAx4UkP78agmN1jBG0UU072FFzkKW9u57bM2/7/sdnJ79SAGkjMF t/d49sr55+JTvo7k17bDTa658gcyA68FFxErfA4AXjdcd0Lcxwl/En6Ux3pDMdD+r1LS9PYh6KY32 knVGNEQM3xTYDA2lBS/WCQfyT33i84D50fbj/GEs4LWQpaoFWThQgXkdIxbRSxAeYUnf73uLpuYfZ XUxwHsa89WUqTZmxFrepYBBNvSOayjjdsc18C99hA4r06dYotrsBsj0nE+6QXbjule/SRqakRoAlQ SiddgpIbKKbDyn5BQPMQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oVZ27-00E2iV-4e; Tue, 06 Sep 2022 13:54:31 +0000 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oVYvi-00DyiC-UI for linux-arm-kernel@lists.infradead.org; Tue, 06 Sep 2022 13:47:56 +0000 Received: from pps.filterd (m0098399.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 286Dbk75024128; Tue, 6 Sep 2022 13:47:04 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=message-id : date : mime-version : subject : to : cc : references : from : in-reply-to : content-type : content-transfer-encoding; s=pp1; bh=+LONfiP1FwuoZ7sqp1pViTF6ooPK4HKK4YlqTWf6pqg=; b=sNOqYYDADMI3R5nSXwQGUJtWPPP6SQoyLYvFB1XRzpnlY2WMioY05Nif/WaLXJPxTPrQ TPabg+kBf6HFmKgvMcv9MidZLyV4GXolWLXkxp1xy0mcqg5uxXr9ZH5YYlxD47XQ4RhW Dtfa16C/oR6idlnN0NgS4GHJjnSZgoWwNdKRI3ovpvUGFUj0EtbxInfFEECFgQ3TkHLU q2fkMtj0oSlO2y1aZ6eLVmLB+fPWzJxUs6W6P/HVrvuI3RFuGH75ePNMZQKBNalWrpgV zxp6DThGJ12S3QN+/s3hiYDyKaIH7h17GojUZ8S3cx3xZFzdBd/tN6vODXrdfkJqW4df qg== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3je78j8esy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 06 Sep 2022 13:47:04 +0000 Received: from m0098399.ppops.net (m0098399.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 286DcGaO025665; Tue, 6 Sep 2022 13:47:03 GMT Received: from ppma03ams.nl.ibm.com (62.31.33a9.ip4.static.sl-reverse.com [169.51.49.98]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3je78j8eqk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 06 Sep 2022 13:47:03 +0000 Received: from pps.filterd (ppma03ams.nl.ibm.com [127.0.0.1]) by ppma03ams.nl.ibm.com (8.16.1.2/8.16.1.2) with SMTP id 286DaQIi009009; Tue, 6 Sep 2022 13:47:00 GMT Received: from b06cxnps4076.portsmouth.uk.ibm.com (d06relay13.portsmouth.uk.ibm.com [9.149.109.198]) by ppma03ams.nl.ibm.com with ESMTP id 3jbxj8uukd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 06 Sep 2022 13:47:00 +0000 Received: from b06wcsmtp001.portsmouth.uk.ibm.com (b06wcsmtp001.portsmouth.uk.ibm.com [9.149.105.160]) by b06cxnps4076.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 286Dkv4734996560 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 6 Sep 2022 13:46:57 GMT Received: from b06wcsmtp001.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id CDA01A405C; Tue, 6 Sep 2022 13:46:57 +0000 (GMT) Received: from b06wcsmtp001.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id A9AE7A4054; Tue, 6 Sep 2022 13:46:56 +0000 (GMT) Received: from [9.101.4.33] (unknown [9.101.4.33]) by b06wcsmtp001.portsmouth.uk.ibm.com (Postfix) with ESMTP; Tue, 6 Sep 2022 13:46:56 +0000 (GMT) Message-ID: Date: Tue, 6 Sep 2022 15:46:56 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.2.0 Subject: Re: [RFC PATCH RESEND 05/28] mm: add per-VMA lock and helper functions to control it Content-Language: fr To: Suren Baghdasaryan , akpm@linux-foundation.org Cc: michel@lespinasse.org, jglisse@google.com, mhocko@suse.com, vbabka@suse.cz, hannes@cmpxchg.org, mgorman@suse.de, dave@stgolabs.net, willy@infradead.org, liam.howlett@oracle.com, peterz@infradead.org, laurent.dufour@fr.ibm.com, paulmck@kernel.org, luto@kernel.org, songliubraving@fb.com, peterx@redhat.com, david@redhat.com, dhowells@redhat.com, hughd@google.com, bigeasy@linutronix.de, kent.overstreet@linux.dev, rientjes@google.com, axelrasmussen@google.com, joelaf@google.com, minchan@google.com, kernel-team@android.com, linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org, linuxppc-dev@lists.ozlabs.org, x86@kernel.org, linux-kernel@vger.kernel.org References: <20220901173516.702122-1-surenb@google.com> <20220901173516.702122-6-surenb@google.com> From: Laurent Dufour In-Reply-To: <20220901173516.702122-6-surenb@google.com> X-TM-AS-GCONF: 00 X-Proofpoint-GUID: UrSfiMSxrDaJu89C83q1fw95SxfJl1td X-Proofpoint-ORIG-GUID: 41BMFJp_5MK8rlp_otVy0PPuDlQMVUZL X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.528,FMLib:17.11.122.1 definitions=2022-09-06_07,2022-09-06_02,2022-06-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 priorityscore=1501 suspectscore=0 mlxlogscore=704 malwarescore=0 lowpriorityscore=0 bulkscore=0 clxscore=1011 spamscore=0 adultscore=0 phishscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2207270000 definitions=main-2209060065 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220906_064755_011264_29B7DBF7 X-CRM114-Status: GOOD ( 33.66 ) 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 TGUgMDEvMDkvMjAyMiDDoCAxOTozNCwgU3VyZW4gQmFnaGRhc2FyeWFuIGEgw6ljcml0wqA6Cj4g SW50cm9kdWNlIGEgcGVyLVZNQSByd19zZW1hcGhvcmUgdG8gYmUgdXNlZCBkdXJpbmcgcGFnZSBm YXVsdCBoYW5kbGluZwo+IGluc3RlYWQgb2YgbW1hcF9sb2NrLiBCZWNhdXNlIHRoZXJlIGFyZSBj YXNlcyB3aGVuIG11bHRpcGxlIFZNQXMgbmVlZAo+IHRvIGJlIGV4Y2x1c2l2ZWx5IGxvY2tlZCBk dXJpbmcgVk1BIHRyZWUgbW9kaWZpY2F0aW9ucywgaW5zdGVhZCBvZiB0aGUKPiB1c3VhbCBsb2Nr L3VubG9jayBwYXR0ZXIgd2UgbWFyayBhIFZNQSBhcyBsb2NrZWQgYnkgdGFraW5nIHBlci1WTUEg bG9jawo+IGV4Y2x1c2l2ZWx5IGFuZCBzZXR0aW5nIHZtYS0+bG9ja19zZXEgdG8gdGhlIGN1cnJl bnQgbW0tPmxvY2tfc2VxLiBXaGVuCj4gbW1hcF93cml0ZV9sb2NrIGhvbGRlciBpcyBkb25lIHdp dGggYWxsIG1vZGlmaWNhdGlvbnMgYW5kIGRyb3BzIG1tYXBfbG9jaywKPiBpdCB3aWxsIGluY3Jl bWVudCBtbS0+bG9ja19zZXEsIGVmZmVjdGl2ZWx5IHVubG9ja2luZyBhbGwgVk1BcyBtYXJrZWQg YXMKPiBsb2NrZWQuCj4gCj4gU2lnbmVkLW9mZi1ieTogU3VyZW4gQmFnaGRhc2FyeWFuIDxzdXJl bmJAZ29vZ2xlLmNvbT4KRGVzcGl0ZSBhIG1pbm9yIGNvbW1lbnQgYmVsb3csCgpSZXZpZXdlZC1i eTogTGF1cmVudCBEdWZvdXIgPGxhdXJlbnQuZHVmb3VyQGZyLmlibS5jb20+Cgo+IC0tLQo+ICBp bmNsdWRlL2xpbnV4L21tLmggICAgICAgIHwgNzggKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrCj4gIGluY2x1ZGUvbGludXgvbW1fdHlwZXMuaCAgfCAgNyArKysrCj4gIGlu Y2x1ZGUvbGludXgvbW1hcF9sb2NrLmggfCAxMyArKysrKysrCj4gIGtlcm5lbC9mb3JrLmMgICAg ICAgICAgICAgfCAgNCArKwo+ICBtbS9pbml0LW1tLmMgICAgICAgICAgICAgIHwgIDMgKysKPiAg NSBmaWxlcyBjaGFuZ2VkLCAxMDUgaW5zZXJ0aW9ucygrKQo+IAo+IGRpZmYgLS1naXQgYS9pbmNs dWRlL2xpbnV4L21tLmggYi9pbmNsdWRlL2xpbnV4L21tLmgKPiBpbmRleCA3ZDMyMmE5Nzk0NTUu LjQ3NmJmOTM2YzVmMCAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2xpbnV4L21tLmgKPiArKysgYi9p bmNsdWRlL2xpbnV4L21tLmgKPiBAQCAtNjExLDYgKzYxMSw4MyBAQCBzdHJ1Y3Qgdm1fb3BlcmF0 aW9uc19zdHJ1Y3Qgewo+ICAJCQkJCSAgdW5zaWduZWQgbG9uZyBhZGRyKTsKPiAgfTsKPiAgCj4g KyNpZmRlZiBDT05GSUdfUEVSX1ZNQV9MT0NLCj4gK3N0YXRpYyBpbmxpbmUgdm9pZCB2bWFfaW5p dF9sb2NrKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQo+ICt7Cj4gKwlpbml0X3J3c2VtKCZ2 bWEtPmxvY2spOwo+ICsJdm1hLT52bV9sb2NrX3NlcSA9IC0xOwo+ICt9Cj4gKwo+ICtzdGF0aWMg aW5saW5lIHZvaWQgdm1hX21hcmtfbG9ja2VkKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQo+ ICt7Cj4gKwlpbnQgbW1fbG9ja19zZXE7Cj4gKwo+ICsJbW1hcF9hc3NlcnRfd3JpdGVfbG9ja2Vk KHZtYS0+dm1fbW0pOwo+ICsKPiArCS8qCj4gKwkgKiBjdXJyZW50IHRhc2sgaXMgaG9sZGluZyBt bWFwX3dyaXRlX2xvY2ssIGJvdGggdm1hLT52bV9sb2NrX3NlcSBhbmQKPiArCSAqIG1tLT5tbV9s b2NrX3NlcSBjYW4ndCBiZSBjb25jdXJyZW50bHkgbW9kaWZpZWQuCj4gKwkgKi8KPiArCW1tX2xv Y2tfc2VxID0gUkVBRF9PTkNFKHZtYS0+dm1fbW0tPm1tX2xvY2tfc2VxKTsKPiArCWlmICh2bWEt PnZtX2xvY2tfc2VxID09IG1tX2xvY2tfc2VxKQo+ICsJCXJldHVybjsKPiArCj4gKwlkb3duX3dy aXRlKCZ2bWEtPmxvY2spOwo+ICsJdm1hLT52bV9sb2NrX3NlcSA9IG1tX2xvY2tfc2VxOwo+ICsJ dXBfd3JpdGUoJnZtYS0+bG9jayk7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxpbmUgYm9vbCB2bWFf cmVhZF90cnlsb2NrKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQo+ICt7Cj4gKwlpZiAodW5s aWtlbHkoZG93bl9yZWFkX3RyeWxvY2soJnZtYS0+bG9jaykgPT0gMCkpCj4gKwkJcmV0dXJuIGZh bHNlOwo+ICsKPiArCS8qCj4gKwkgKiBPdmVyZmxvdyBtaWdodCBwcm9kdWNlIGZhbHNlIGxvY2tl ZCByZXN1bHQgYnV0IGl0J3Mgbm90IGNyaXRpY2FsLgoKSXQgbWlnaHQgYmUgZ29vZCB0byBwcmVj aXNlIGhlcmUgdGhhdCBpbiB0aGUgY2FzZSBvZiBmYWxzZSBsb2NrZWQsIHRoZQpjYWxsZXIgaXMg YXNzdW1lZCB0byBmYWxsYmFjayByZWFkIGxvY2tpbmcgdGhlIG1tIGVudGlyZWx5IGJlZm9yZSBk b2luZyBpdHMKY2hhbmdlIHJlbGF0aXZlIHRvIHRoYXQgVk1BLgoKPiArCSAqIEZhbHNlIHVubG9j a2VkIHJlc3VsdCBpcyBjcml0aWNhbCBidXQgaXMgaW1wb3NzaWJsZSBiZWNhdXNlIHdlCj4gKwkg KiBtb2RpZnkgYW5kIGNoZWNrIHZtYS0+dm1fbG9ja19zZXEgdW5kZXIgdm1hLT5sb2NrIHByb3Rl Y3Rpb24gYW5kCj4gKwkgKiBtbS0+bW1fbG9ja19zZXEgbW9kaWZpY2F0aW9uIGludmFsaWRhdGVz IGFsbCBleGlzdGluZyBsb2Nrcy4KPiArCSAqLwo+ICsJaWYgKHZtYS0+dm1fbG9ja19zZXEgPT0g UkVBRF9PTkNFKHZtYS0+dm1fbW0tPm1tX2xvY2tfc2VxKSkgewo+ICsJCXVwX3JlYWQoJnZtYS0+ bG9jayk7Cj4gKwkJcmV0dXJuIGZhbHNlOwo+ICsJfQo+ICsJcmV0dXJuIHRydWU7Cj4gK30KPiAr Cj4gK3N0YXRpYyBpbmxpbmUgdm9pZCB2bWFfcmVhZF91bmxvY2soc3RydWN0IHZtX2FyZWFfc3Ry dWN0ICp2bWEpCj4gK3sKPiArCXVwX3JlYWQoJnZtYS0+bG9jayk7Cj4gK30KPiArCj4gK3N0YXRp YyBpbmxpbmUgdm9pZCB2bWFfYXNzZXJ0X2xvY2tlZChzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZt YSkKPiArewo+ICsJbG9ja2RlcF9hc3NlcnRfaGVsZCgmdm1hLT5sb2NrKTsKPiArCVZNX0JVR19P Tl9WTUEoIXJ3c2VtX2lzX2xvY2tlZCgmdm1hLT5sb2NrKSwgdm1hKTsKPiArfQo+ICsKPiArc3Rh dGljIGlubGluZSB2b2lkIHZtYV9hc3NlcnRfd3JpdGVfbG9ja2VkKHN0cnVjdCB2bV9hcmVhX3N0 cnVjdCAqdm1hLCBpbnQgcG9zKQo+ICt7Cj4gKwltbWFwX2Fzc2VydF93cml0ZV9sb2NrZWQodm1h LT52bV9tbSk7Cj4gKwkvKgo+ICsJICogY3VycmVudCB0YXNrIGlzIGhvbGRpbmcgbW1hcF93cml0 ZV9sb2NrLCBib3RoIHZtYS0+dm1fbG9ja19zZXEgYW5kCj4gKwkgKiBtbS0+bW1fbG9ja19zZXEg Y2FuJ3QgYmUgY29uY3VycmVudGx5IG1vZGlmaWVkLgo+ICsJICovCj4gKwlWTV9CVUdfT05fVk1B KHZtYS0+dm1fbG9ja19zZXEgIT0gUkVBRF9PTkNFKHZtYS0+dm1fbW0tPm1tX2xvY2tfc2VxKSwg dm1hKTsKPiArfQo+ICsKPiArI2Vsc2UgLyogQ09ORklHX1BFUl9WTUFfTE9DSyAqLwo+ICsKPiAr c3RhdGljIGlubGluZSB2b2lkIHZtYV9pbml0X2xvY2soc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2 bWEpIHt9Cj4gK3N0YXRpYyBpbmxpbmUgdm9pZCB2bWFfbWFya19sb2NrZWQoc3RydWN0IHZtX2Fy ZWFfc3RydWN0ICp2bWEpIHt9Cj4gK3N0YXRpYyBpbmxpbmUgYm9vbCB2bWFfcmVhZF90cnlsb2Nr KHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQo+ICsJCXsgcmV0dXJuIGZhbHNlOyB9Cj4gK3N0 YXRpYyBpbmxpbmUgdm9pZCB2bWFfcmVhZF91bmxvY2soc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2 bWEpIHt9Cj4gK3N0YXRpYyBpbmxpbmUgdm9pZCB2bWFfYXNzZXJ0X2xvY2tlZChzdHJ1Y3Qgdm1f YXJlYV9zdHJ1Y3QgKnZtYSkge30KPiArc3RhdGljIGlubGluZSB2b2lkIHZtYV9hc3NlcnRfd3Jp dGVfbG9ja2VkKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLCBpbnQgcG9zKSB7fQo+ICsKPiAr I2VuZGlmIC8qIENPTkZJR19QRVJfVk1BX0xPQ0sgKi8KPiArCj4gIHN0YXRpYyBpbmxpbmUgdm9p ZCB2bWFfaW5pdChzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwgc3RydWN0IG1tX3N0cnVjdCAq bW0pCj4gIHsKPiAgCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgdm1fb3BlcmF0aW9uc19zdHJ1Y3QgZHVt bXlfdm1fb3BzID0ge307Cj4gQEAgLTYxOSw2ICs2OTYsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQg dm1hX2luaXQoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsIHN0cnVjdCBtbV9zdHJ1Y3QgKm1t KQo+ICAJdm1hLT52bV9tbSA9IG1tOwo+ICAJdm1hLT52bV9vcHMgPSAmZHVtbXlfdm1fb3BzOwo+ ICAJSU5JVF9MSVNUX0hFQUQoJnZtYS0+YW5vbl92bWFfY2hhaW4pOwo+ICsJdm1hX2luaXRfbG9j ayh2bWEpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgaW5saW5lIHZvaWQgdm1hX3NldF9hbm9ueW1vdXMo c3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgv bW1fdHlwZXMuaCBiL2luY2x1ZGUvbGludXgvbW1fdHlwZXMuaAo+IGluZGV4IGJlZDI1ZWY3Yzk5 NC4uNmEwM2Y1OWMxZTc4IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvbGludXgvbW1fdHlwZXMuaAo+ ICsrKyBiL2luY2x1ZGUvbGludXgvbW1fdHlwZXMuaAo+IEBAIC00ODYsNiArNDg2LDEwIEBAIHN0 cnVjdCB2bV9hcmVhX3N0cnVjdCB7Cj4gIAlzdHJ1Y3QgbWVtcG9saWN5ICp2bV9wb2xpY3k7CS8q IE5VTUEgcG9saWN5IGZvciB0aGUgVk1BICovCj4gICNlbmRpZgo+ICAJc3RydWN0IHZtX3VzZXJm YXVsdGZkX2N0eCB2bV91c2VyZmF1bHRmZF9jdHg7Cj4gKyNpZmRlZiBDT05GSUdfUEVSX1ZNQV9M T0NLCj4gKwlzdHJ1Y3Qgcndfc2VtYXBob3JlIGxvY2s7Cj4gKwlpbnQgdm1fbG9ja19zZXE7Cj4g KyNlbmRpZgo+ICB9IF9fcmFuZG9taXplX2xheW91dDsKPiAgCj4gIHN0cnVjdCBraW9jdHhfdGFi bGU7Cj4gQEAgLTU2Nyw2ICs1NzEsOSBAQCBzdHJ1Y3QgbW1fc3RydWN0IHsKPiAgCQkJCQkgICog aW5pdF9tbS5tbWxpc3QsIGFuZCBhcmUgcHJvdGVjdGVkCj4gIAkJCQkJICAqIGJ5IG1tbGlzdF9s b2NrCj4gIAkJCQkJICAqLwo+ICsjaWZkZWYgQ09ORklHX1BFUl9WTUFfTE9DSwo+ICsJCWludCBt bV9sb2NrX3NlcTsKPiArI2VuZGlmCj4gIAo+ICAKPiAgCQl1bnNpZ25lZCBsb25nIGhpd2F0ZXJf cnNzOyAvKiBIaWdoLXdhdGVybWFyayBvZiBSU1MgdXNhZ2UgKi8KPiBkaWZmIC0tZ2l0IGEvaW5j bHVkZS9saW51eC9tbWFwX2xvY2suaCBiL2luY2x1ZGUvbGludXgvbW1hcF9sb2NrLmgKPiBpbmRl eCBlNDliYTkxYmIxZjAuLmEzOTFhZTIyNjU2NCAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2xpbnV4 L21tYXBfbG9jay5oCj4gKysrIGIvaW5jbHVkZS9saW51eC9tbWFwX2xvY2suaAo+IEBAIC03Miw2 ICs3MiwxNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgbW1hcF9hc3NlcnRfd3JpdGVfbG9ja2VkKHN0 cnVjdCBtbV9zdHJ1Y3QgKm1tKQo+ICAJVk1fQlVHX09OX01NKCFyd3NlbV9pc19sb2NrZWQoJm1t LT5tbWFwX2xvY2spLCBtbSk7Cj4gIH0KPiAgCj4gKyNpZmRlZiBDT05GSUdfUEVSX1ZNQV9MT0NL Cj4gK3N0YXRpYyBpbmxpbmUgdm9pZCB2bWFfbWFya191bmxvY2tlZF9hbGwoc3RydWN0IG1tX3N0 cnVjdCAqbW0pCj4gK3sKPiArCW1tYXBfYXNzZXJ0X3dyaXRlX2xvY2tlZChtbSk7Cj4gKwkvKiBO byByYWNlcyBkdXJpbmcgdXBkYXRlIGR1ZSB0byBleGNsdXNpdmUgbW1hcF9sb2NrIGJlaW5nIGhl bGQgKi8KPiArCVdSSVRFX09OQ0UobW0tPm1tX2xvY2tfc2VxLCBtbS0+bW1fbG9ja19zZXEgKyAx KTsKPiArfQo+ICsjZWxzZQo+ICtzdGF0aWMgaW5saW5lIHZvaWQgdm1hX21hcmtfdW5sb2NrZWRf YWxsKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKSB7fQo+ICsjZW5kaWYKPiArCj4gIHN0YXRpYyBpbmxp bmUgdm9pZCBtbWFwX2luaXRfbG9jayhzdHJ1Y3QgbW1fc3RydWN0ICptbSkKPiAgewo+ICAJaW5p dF9yd3NlbSgmbW0tPm1tYXBfbG9jayk7Cj4gQEAgLTExNCwxMiArMTI1LDE0IEBAIHN0YXRpYyBp bmxpbmUgYm9vbCBtbWFwX3dyaXRlX3RyeWxvY2soc3RydWN0IG1tX3N0cnVjdCAqbW0pCj4gIHN0 YXRpYyBpbmxpbmUgdm9pZCBtbWFwX3dyaXRlX3VubG9jayhzdHJ1Y3QgbW1fc3RydWN0ICptbSkK PiAgewo+ICAJX19tbWFwX2xvY2tfdHJhY2VfcmVsZWFzZWQobW0sIHRydWUpOwo+ICsJdm1hX21h cmtfdW5sb2NrZWRfYWxsKG1tKTsKPiAgCXVwX3dyaXRlKCZtbS0+bW1hcF9sb2NrKTsKPiAgfQo+ ICAKPiAgc3RhdGljIGlubGluZSB2b2lkIG1tYXBfd3JpdGVfZG93bmdyYWRlKHN0cnVjdCBtbV9z dHJ1Y3QgKm1tKQo+ICB7Cj4gIAlfX21tYXBfbG9ja190cmFjZV9hY3F1aXJlX3JldHVybmVkKG1t LCBmYWxzZSwgdHJ1ZSk7Cj4gKwl2bWFfbWFya191bmxvY2tlZF9hbGwobW0pOwo+ICAJZG93bmdy YWRlX3dyaXRlKCZtbS0+bW1hcF9sb2NrKTsKPiAgfQo+ICAKPiBkaWZmIC0tZ2l0IGEva2VybmVs L2ZvcmsuYyBiL2tlcm5lbC9mb3JrLmMKPiBpbmRleCA2MTQ4NzI0MzgzOTMuLmJmYWIzMWVjZDEx ZSAxMDA2NDQKPiAtLS0gYS9rZXJuZWwvZm9yay5jCj4gKysrIGIva2VybmVsL2ZvcmsuYwo+IEBA IC00NzUsNiArNDc1LDcgQEAgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bV9hcmVhX2R1cChzdHJ1 Y3Qgdm1fYXJlYV9zdHJ1Y3QgKm9yaWcpCj4gIAkJICovCj4gIAkJKm5ldyA9IGRhdGFfcmFjZSgq b3JpZyk7Cj4gIAkJSU5JVF9MSVNUX0hFQUQoJm5ldy0+YW5vbl92bWFfY2hhaW4pOwo+ICsJCXZt YV9pbml0X2xvY2sobmV3KTsKPiAgCQluZXctPnZtX25leHQgPSBuZXctPnZtX3ByZXYgPSBOVUxM Owo+ICAJCWR1cF9hbm9uX3ZtYV9uYW1lKG9yaWcsIG5ldyk7Cj4gIAl9Cj4gQEAgLTExMzAsNiAr MTEzMSw5IEBAIHN0YXRpYyBzdHJ1Y3QgbW1fc3RydWN0ICptbV9pbml0KHN0cnVjdCBtbV9zdHJ1 Y3QgKm1tLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsCj4gIAlzZXFjb3VudF9pbml0KCZtbS0+d3Jp dGVfcHJvdGVjdF9zZXEpOwo+ICAJbW1hcF9pbml0X2xvY2sobW0pOwo+ICAJSU5JVF9MSVNUX0hF QUQoJm1tLT5tbWxpc3QpOwo+ICsjaWZkZWYgQ09ORklHX1BFUl9WTUFfTE9DSwo+ICsJV1JJVEVf T05DRShtbS0+bW1fbG9ja19zZXEsIDApOwo+ICsjZW5kaWYKPiAgCW1tX3BndGFibGVzX2J5dGVz X2luaXQobW0pOwo+ICAJbW0tPm1hcF9jb3VudCA9IDA7Cj4gIAltbS0+bG9ja2VkX3ZtID0gMDsK PiBkaWZmIC0tZ2l0IGEvbW0vaW5pdC1tbS5jIGIvbW0vaW5pdC1tbS5jCj4gaW5kZXggZmJlNzg0 NGQwOTEyLi44Mzk5ZjkwZDYzMWMgMTAwNjQ0Cj4gLS0tIGEvbW0vaW5pdC1tbS5jCj4gKysrIGIv bW0vaW5pdC1tbS5jCj4gQEAgLTM3LDYgKzM3LDkgQEAgc3RydWN0IG1tX3N0cnVjdCBpbml0X21t ID0gewo+ICAJLnBhZ2VfdGFibGVfbG9jayA9ICBfX1NQSU5fTE9DS19VTkxPQ0tFRChpbml0X21t LnBhZ2VfdGFibGVfbG9jayksCj4gIAkuYXJnX2xvY2sJPSAgX19TUElOX0xPQ0tfVU5MT0NLRUQo aW5pdF9tbS5hcmdfbG9jayksCj4gIAkubW1saXN0CQk9IExJU1RfSEVBRF9JTklUKGluaXRfbW0u bW1saXN0KSwKPiArI2lmZGVmIENPTkZJR19QRVJfVk1BX0xPQ0sKPiArCS5tbV9sb2NrX3NlcQk9 IDAsCj4gKyNlbmRpZgo+ICAJLnVzZXJfbnMJPSAmaW5pdF91c2VyX25zLAo+ICAJLmNwdV9iaXRt YXAJPSBDUFVfQklUU19OT05FLAo+ICAjaWZkZWYgQ09ORklHX0lPTU1VX1NWQQoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwg bWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8v bGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK