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 EB527C61D97 for ; Wed, 22 Nov 2023 01:29:31 +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=AlV+NdaSJQM8PX8TJc6J7grTJLjpkH1Ls5Arcp5X4Ss=; b=DptUMAp9G74ypO lq1QgAIbKajmv6eUjrhoTu1y6FcKMU609MJ7dnZaLEcKJ//JCByq2V2SPehLzt+42XpZOLeVqR656 bZ1+NWcC8ZEfHmMIZ7p1N6RLczSrSkbo2M9emtSRlb52H7FfVqVNIfj0KqZw7w+Fe2w6nProjqJSO 31t4zblZ9CLVTRbeIuMZ2BBBrb4KXalYE4pL0ak7d2rouLrI88jkIN/HG8TtXTdIBA20pohZ+DOC/ wSHb6DFeIEQQQqH0gtL3H1pYHc4W5GpTkSgg9FmTAtZlBntzvpx5UXs5Nr1TkVdLzIeFZq5QUERo6 ozWxP+YprS5/OCEjPRiQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1r5c38-000Ppl-0w; Wed, 22 Nov 2023 01:29:06 +0000 Received: from mail-pl1-x62c.google.com ([2607:f8b0:4864:20::62c]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1r5c35-000PoX-05 for linux-arm-kernel@lists.infradead.org; Wed, 22 Nov 2023 01:29:04 +0000 Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-1cc79f73e58so44775ad.1 for ; Tue, 21 Nov 2023 17:29:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1700616540; x=1701221340; darn=lists.infradead.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=PQTXNqNKjwBGV/F0nq07Eb76dHmbBkOBd/hKqiZRe4I=; b=fob3sFe2uwxmIjI8Y8YAyI9btM6Isn/gBh1KdruMrgfp5RhzevClZEQIzjiYsAjTgY nK1TNafHMhI+sc+UnodrJkkz88OHsLgK+A4WpfPfgrRVIKtyHsOj/TDV2LGibeoCPRdN m7iWyESGFhO1dtRxV3Hb+dtiDeL4Rf2Wlb2K4HDSVvap5VTY27ItE1g8HggRffMue0A4 qYXvOwCNHD/XfHbThhgfxibIyb4nByY4vcsZ/ZD58fL3mhG9MTAncYeTq4djViDxjoC/ P8jeoo+sxYPbTJERr3B2CNmlCKpCMUwCZUXHkO3SCQ5uUYLKaO9FX/Z26LIbghQYsrlV moDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700616540; x=1701221340; 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:message-id:reply-to; bh=PQTXNqNKjwBGV/F0nq07Eb76dHmbBkOBd/hKqiZRe4I=; b=fZjqAz5fzJrfez0JkeezxfkRfWrez5vha8pjpFp8uB7CK/ee9hmE0Eqfuw9LzvKAAK QLiUn3xak29ve12d+Cf69s3K5HkbycE3L+7a78KvLvXVPJttXmDJJgtBkMwSnmJ6/Il/ R0fGJxXYEsAL0Wtn8emClGwEaoptIwRtNLBILOk7GukSYMsNxtnEJjzQ/eXZKhlHMqKn IBU6W7tsvrMSM15/SAHdgvCVFB6eROCE3XEa35fv0KhjkNLAHLSqcl68NdRMq/aGzQVa YZJy6y9sBnPQCl22Aiw3hMoTAXu76dXc2s/LX9z0AXKx1WRsc9nQF0G5gQlEX0+Kn3cJ x8Ow== X-Gm-Message-State: AOJu0Yxh8I7oZyRdYy6gXwa83CaD6HAwcBGfSLPtp6SlwBSaKzrr+if3 OeiP4Db2zC6p0p1opu8/KYN0nA6kxHJY+XYJQwSgsA== X-Google-Smtp-Source: AGHT+IHTLY6O8nnNjugZgX1idDgXA1sk1KnuEcL73QkrrMzzt0J7bEBMJ67A4b4lOJtIs84dHwwHlsyEGiBHb8A0s/M= X-Received: by 2002:a17:903:643:b0:1cf:6542:b4c6 with SMTP id kh3-20020a170903064300b001cf6542b4c6mr63497plb.13.1700616540267; Tue, 21 Nov 2023 17:29:00 -0800 (PST) MIME-Version: 1.0 References: <20231119165721.9849-1-alexandru.elisei@arm.com> <20231119165721.9849-21-alexandru.elisei@arm.com> In-Reply-To: <20231119165721.9849-21-alexandru.elisei@arm.com> From: Peter Collingbourne Date: Tue, 21 Nov 2023 17:28:49 -0800 Message-ID: Subject: Re: [PATCH RFC v2 20/27] mm: hugepage: Handle huge page fault on access To: Alexandru Elisei Cc: catalin.marinas@arm.com, will@kernel.org, oliver.upton@linux.dev, maz@kernel.org, james.morse@arm.com, suzuki.poulose@arm.com, yuzenghui@huawei.com, arnd@arndb.de, akpm@linux-foundation.org, mingo@redhat.com, peterz@infradead.org, juri.lelli@redhat.com, vincent.guittot@linaro.org, dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, mgorman@suse.de, bristot@redhat.com, vschneid@redhat.com, mhiramat@kernel.org, rppt@kernel.org, hughd@google.com, steven.price@arm.com, anshuman.khandual@arm.com, vincenzo.frascino@arm.com, david@redhat.com, eugenis@google.com, kcc@google.com, hyesoo.yu@samsung.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvmarm@lists.linux.dev, linux-fsdevel@vger.kernel.org, linux-arch@vger.kernel.org, linux-mm@kvack.org, linux-trace-kernel@vger.kernel.org X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231121_172903_109396_8C9A58C5 X-CRM114-Status: GOOD ( 23.84 ) 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 T24gU3VuLCBOb3YgMTksIDIwMjMgYXQgODo1OeKAr0FNIEFsZXhhbmRydSBFbGlzZWkKPGFsZXhh bmRydS5lbGlzZWlAYXJtLmNvbT4gd3JvdGU6Cj4KPiBIYW5kbGUgUEFHRV9GQVVMVF9PTl9BQ0NF U1MgZmF1bHRzIGZvciBodWdlIHBhZ2VzIGluIGEgc2ltaWxhciB3YXkgdG8KPiByZWd1bGFyIHBh Z2VzLgo+Cj4gU2lnbmVkLW9mZi1ieTogQWxleGFuZHJ1IEVsaXNlaSA8YWxleGFuZHJ1LmVsaXNl aUBhcm0uY29tPgo+IC0tLQo+ICBhcmNoL2FybTY0L2luY2x1ZGUvYXNtL210ZV90YWdfc3RvcmFn ZS5oIHwgIDEgKwo+ICBhcmNoL2FybTY0L2luY2x1ZGUvYXNtL3BndGFibGUuaCAgICAgICAgIHwg IDcgKysKPiAgYXJjaC9hcm02NC9tbS9mYXVsdC5jICAgICAgICAgICAgICAgICAgICB8IDgxICsr KysrKysrKysrKysrKysrKysrKysrKwo+ICBpbmNsdWRlL2xpbnV4L2h1Z2VfbW0uaCAgICAgICAg ICAgICAgICAgIHwgIDIgKwo+ICBpbmNsdWRlL2xpbnV4L3BndGFibGUuaCAgICAgICAgICAgICAg ICAgIHwgIDUgKysKPiAgbW0vaHVnZV9tZW1vcnkuYyAgICAgICAgICAgICAgICAgICAgICAgICB8 ICA0ICstCj4gIG1tL21lbW9yeS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMyAr Cj4gIDcgZmlsZXMgY2hhbmdlZCwgMTAxIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCj4K PiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9tdGVfdGFnX3N0b3JhZ2UuaCBi L2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vbXRlX3RhZ19zdG9yYWdlLmgKPiBpbmRleCBjNzBjZWQ2 MGEwY2QuLmI5NzQwNmQzNjljZSAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybTY0L2luY2x1ZGUvYXNt L210ZV90YWdfc3RvcmFnZS5oCj4gKysrIGIvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9tdGVfdGFn X3N0b3JhZ2UuaAo+IEBAIC0zNSw2ICszNSw3IEBAIHZvaWQgZnJlZV90YWdfc3RvcmFnZShzdHJ1 Y3QgcGFnZSAqcGFnZSwgaW50IG9yZGVyKTsKPiAgYm9vbCBwYWdlX3RhZ19zdG9yYWdlX3Jlc2Vy dmVkKHN0cnVjdCBwYWdlICpwYWdlKTsKPgo+ICB2bV9mYXVsdF90IGhhbmRsZV9wYWdlX21pc3Np bmdfdGFnX3N0b3JhZ2Uoc3RydWN0IHZtX2ZhdWx0ICp2bWYpOwo+ICt2bV9mYXVsdF90IGhhbmRs ZV9odWdlX3BhZ2VfbWlzc2luZ190YWdfc3RvcmFnZShzdHJ1Y3Qgdm1fZmF1bHQgKnZtZik7Cj4g ICNlbHNlCj4gIHN0YXRpYyBpbmxpbmUgYm9vbCB0YWdfc3RvcmFnZV9lbmFibGVkKHZvaWQpCj4g IHsKPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9wZ3RhYmxlLmggYi9hcmNo L2FybTY0L2luY2x1ZGUvYXNtL3BndGFibGUuaAo+IGluZGV4IDhjYzEzNWYxYzExMi4uMTcwNDQx MWMwOTZkIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vcGd0YWJsZS5oCj4g KysrIGIvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9wZ3RhYmxlLmgKPiBAQCAtNDc3LDYgKzQ3Nywx MyBAQCBzdGF0aWMgaW5saW5lIHZtX2ZhdWx0X3QgYXJjaF9kb19wYWdlX2ZhdWx0X29uX2FjY2Vz cyhzdHJ1Y3Qgdm1fZmF1bHQgKnZtZikKPiAgICAgICAgICAgICAgICAgcmV0dXJuIGhhbmRsZV9w YWdlX21pc3NpbmdfdGFnX3N0b3JhZ2Uodm1mKTsKPiAgICAgICAgIHJldHVybiBWTV9GQVVMVF9T SUdCVVM7Cj4gIH0KPiArCj4gK3N0YXRpYyBpbmxpbmUgdm1fZmF1bHRfdCBhcmNoX2RvX2h1Z2Vf cGFnZV9mYXVsdF9vbl9hY2Nlc3Moc3RydWN0IHZtX2ZhdWx0ICp2bWYpCj4gK3sKPiArICAgICAg IGlmICh0YWdfc3RvcmFnZV9lbmFibGVkKCkpCj4gKyAgICAgICAgICAgICAgIHJldHVybiBoYW5k bGVfaHVnZV9wYWdlX21pc3NpbmdfdGFnX3N0b3JhZ2Uodm1mKTsKPiArICAgICAgIHJldHVybiBW TV9GQVVMVF9TSUdCVVM7Cj4gK30KPiAgI2VuZGlmIC8qIENPTkZJR19BUkNIX0hBU19GQVVMVF9P Tl9BQ0NFU1MgKi8KPgo+ICAjZGVmaW5lIHBtZF9wcmVzZW50X2ludmFsaWQocG1kKSAgICAgKCEh KHBtZF92YWwocG1kKSAmIFBNRF9QUkVTRU5UX0lOVkFMSUQpKQo+IGRpZmYgLS1naXQgYS9hcmNo L2FybTY0L21tL2ZhdWx0LmMgYi9hcmNoL2FybTY0L21tL2ZhdWx0LmMKPiBpbmRleCBmNWZhNTgz YWNmMTguLjY3MzBhMDgxMmEyNCAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybTY0L21tL2ZhdWx0LmMK PiArKysgYi9hcmNoL2FybTY0L21tL2ZhdWx0LmMKPiBAQCAtMTA0MSw2ICsxMDQxLDg3IEBAIHZt X2ZhdWx0X3QgaGFuZGxlX3BhZ2VfbWlzc2luZ190YWdfc3RvcmFnZShzdHJ1Y3Qgdm1fZmF1bHQg KnZtZikKPgo+ICAgICAgICAgcmV0dXJuIDA7Cj4KPiArb3V0X3JldHJ5Ogo+ICsgICAgICAgcHV0 X3BhZ2UocGFnZSk7Cj4gKyAgICAgICBpZiAodm1mLT5mbGFncyAmIEZBVUxUX0ZMQUdfVk1BX0xP Q0spCj4gKyAgICAgICAgICAgICAgIHZtYV9lbmRfcmVhZCh2bWEpOwo+ICsgICAgICAgaWYgKGZh dWx0X2ZsYWdfYWxsb3dfcmV0cnlfZmlyc3Qodm1mLT5mbGFncykpIHsKPiArICAgICAgICAgICAg ICAgZXJyID0gVk1fRkFVTFRfUkVUUlk7Cj4gKyAgICAgICB9IGVsc2Ugewo+ICsgICAgICAgICAg ICAgICAvKiBSZXBsYXkgdGhlIGZhdWx0LiAqLwo+ICsgICAgICAgICAgICAgICBlcnIgPSAwOwo+ ICsgICAgICAgfQo+ICsgICAgICAgcmV0dXJuIGVycjsKPiArfQo+ICsKPiArdm1fZmF1bHRfdCBo YW5kbGVfaHVnZV9wYWdlX21pc3NpbmdfdGFnX3N0b3JhZ2Uoc3RydWN0IHZtX2ZhdWx0ICp2bWYp Cj4gK3sKPiArICAgICAgIHVuc2lnbmVkIGxvbmcgaGFkZHIgPSB2bWYtPmFkZHJlc3MgJiBIUEFH RV9QTURfTUFTSzsKPiArICAgICAgIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hID0gdm1mLT52 bWE7Cj4gKyAgICAgICBwbWRfdCBvbGRfcG1kLCBuZXdfcG1kOwo+ICsgICAgICAgYm9vbCB3cml0 YWJsZSA9IGZhbHNlOwo+ICsgICAgICAgc3RydWN0IHBhZ2UgKnBhZ2U7Cj4gKyAgICAgICB2bV9m YXVsdF90IGVycjsKPiArICAgICAgIGludCByZXQ7Cj4gKwo+ICsgICAgICAgdm1mLT5wdGwgPSBw bWRfbG9jayh2bWEtPnZtX21tLCB2bWYtPnBtZCk7Cj4gKyAgICAgICBpZiAodW5saWtlbHkoIXBt ZF9zYW1lKHZtZi0+b3JpZ19wbWQsICp2bWYtPnBtZCkpKSB7Cj4gKyAgICAgICAgICAgICAgIHNw aW5fdW5sb2NrKHZtZi0+cHRsKTsKPiArICAgICAgICAgICAgICAgcmV0dXJuIDA7Cj4gKyAgICAg ICB9Cj4gKwo+ICsgICAgICAgb2xkX3BtZCA9IHZtZi0+b3JpZ19wbWQ7Cj4gKyAgICAgICBuZXdf cG1kID0gcG1kX21vZGlmeShvbGRfcG1kLCB2bWEtPnZtX3BhZ2VfcHJvdCk7Cj4gKwo+ICsgICAg ICAgLyoKPiArICAgICAgICAqIERldGVjdCBub3cgd2hldGhlciB0aGUgUE1EIGNvdWxkIGJlIHdy aXRhYmxlOyB0aGlzIGluZm9ybWF0aW9uCj4gKyAgICAgICAgKiBpcyBvbmx5IHZhbGlkIHdoaWxl IGhvbGRpbmcgdGhlIFBUIGxvY2suCj4gKyAgICAgICAgKi8KPiArICAgICAgIHdyaXRhYmxlID0g cG1kX3dyaXRlKG5ld19wbWQpOwo+ICsgICAgICAgaWYgKCF3cml0YWJsZSAmJiB2bWFfd2FudHNf bWFudWFsX3B0ZV93cml0ZV91cGdyYWRlKHZtYSkgJiYKPiArICAgICAgICAgICBjYW5fY2hhbmdl X3BtZF93cml0YWJsZSh2bWEsIHZtZi0+YWRkcmVzcywgbmV3X3BtZCkpCj4gKyAgICAgICAgICAg ICAgIHdyaXRhYmxlID0gdHJ1ZTsKPiArCj4gKyAgICAgICBwYWdlID0gdm1fbm9ybWFsX3BhZ2Vf cG1kKHZtYSwgaGFkZHIsIG5ld19wbWQpOwo+ICsgICAgICAgaWYgKCFwYWdlKQo+ICsgICAgICAg ICAgICAgICBnb3RvIG91dF9tYXA7Cj4gKwo+ICsgICAgICAgaWYgKCEodm1hLT52bV9mbGFncyAm IFZNX01URSkpCj4gKyAgICAgICAgICAgICAgIGdvdG8gb3V0X21hcDsKPiArCj4gKyAgICAgICBn ZXRfcGFnZShwYWdlKTsKPiArICAgICAgIHZtYV9zZXRfYWNjZXNzX3BpZF9iaXQodm1hKTsKPiAr Cj4gKyAgICAgICBzcGluX3VubG9jayh2bWYtPnB0bCk7Cj4gKyAgICAgICB3cml0YWJsZSA9IGZh bHNlOwo+ICsKPiArICAgICAgIGlmICh1bmxpa2VseShpc19taWdyYXRlX2lzb2xhdGVfcGFnZShw YWdlKSkpCj4gKyAgICAgICAgICAgICAgIGdvdG8gb3V0X3JldHJ5Owo+ICsKPiArICAgICAgIHJl dCA9IHJlc2VydmVfdGFnX3N0b3JhZ2UocGFnZSwgSFBBR0VfUE1EX09SREVSLCBHRlBfSElHSFVT RVJfTU9WQUJMRSk7Cj4gKyAgICAgICBpZiAocmV0KQo+ICsgICAgICAgICAgICAgICBnb3RvIG91 dF9yZXRyeTsKPiArCj4gKyAgICAgICBwdXRfcGFnZShwYWdlKTsKPiArCj4gKyAgICAgICB2bWYt PnB0bCA9IHBtZF9sb2NrKHZtYS0+dm1fbW0sIHZtZi0+cG1kKTsKPiArICAgICAgIGlmICh1bmxp a2VseSghcG1kX3NhbWUob2xkX3BtZCwgKnZtZi0+cG1kKSkpIHsKPiArICAgICAgICAgICAgICAg c3Bpbl91bmxvY2sodm1mLT5wdGwpOwo+ICsgICAgICAgICAgICAgICByZXR1cm4gMDsKPiArICAg ICAgIH0KPiArCj4gK291dF9tYXA6Cj4gKyAgICAgICAvKiBSZXN0b3JlIHRoZSBQTUQgKi8KPiAr ICAgICAgIG5ld19wbWQgPSBwbWRfbW9kaWZ5KG9sZF9wbWQsIHZtYS0+dm1fcGFnZV9wcm90KTsK PiArICAgICAgIG5ld19wbWQgPSBwbWRfbWt5b3VuZyhuZXdfcG1kKTsKPiArICAgICAgIGlmICh3 cml0YWJsZSkKPiArICAgICAgICAgICAgICAgbmV3X3BtZCA9IHBtZF9ta3dyaXRlKG5ld19wbWQs IHZtYSk7Cj4gKyAgICAgICBzZXRfcG1kX2F0KHZtYS0+dm1fbW0sIGhhZGRyLCB2bWYtPnBtZCwg bmV3X3BtZCk7Cj4gKyAgICAgICB1cGRhdGVfbW11X2NhY2hlX3BtZCh2bWEsIHZtZi0+YWRkcmVz cywgdm1mLT5wbWQpOwo+ICsgICAgICAgc3Bpbl91bmxvY2sodm1mLT5wdGwpOwo+ICsKPiArICAg ICAgIHJldHVybiAwOwo+ICsKPiAgb3V0X3JldHJ5Ogo+ICAgICAgICAgcHV0X3BhZ2UocGFnZSk7 Cj4gICAgICAgICBpZiAodm1mLT5mbGFncyAmIEZBVUxUX0ZMQUdfVk1BX0xPQ0spCj4gZGlmZiAt LWdpdCBhL2luY2x1ZGUvbGludXgvaHVnZV9tbS5oIGIvaW5jbHVkZS9saW51eC9odWdlX21tLmgK PiBpbmRleCBmYTAzNTBiMDgxMmEuLmJiODQyOTFmOTIzMSAxMDA2NDQKPiAtLS0gYS9pbmNsdWRl L2xpbnV4L2h1Z2VfbW0uaAo+ICsrKyBiL2luY2x1ZGUvbGludXgvaHVnZV9tbS5oCj4gQEAgLTM2 LDYgKzM2LDggQEAgYm9vbCBtb3ZlX2h1Z2VfcG1kKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1h LCB1bnNpZ25lZCBsb25nIG9sZF9hZGRyLAo+ICBpbnQgY2hhbmdlX2h1Z2VfcG1kKHN0cnVjdCBt bXVfZ2F0aGVyICp0bGIsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLAo+ICAgICAgICAgICAg ICAgICAgICAgcG1kX3QgKnBtZCwgdW5zaWduZWQgbG9uZyBhZGRyLCBwZ3Byb3RfdCBuZXdwcm90 LAo+ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBjcF9mbGFncyk7Cj4gK2Jvb2wg Y2FuX2NoYW5nZV9wbWRfd3JpdGFibGUoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsIHVuc2ln bmVkIGxvbmcgYWRkciwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBtZF90IHBtZCk7 Cj4KPiAgdm1fZmF1bHRfdCB2bWZfaW5zZXJ0X3Bmbl9wbWQoc3RydWN0IHZtX2ZhdWx0ICp2bWYs IHBmbl90IHBmbiwgYm9vbCB3cml0ZSk7Cj4gIHZtX2ZhdWx0X3Qgdm1mX2luc2VydF9wZm5fcHVk KHN0cnVjdCB2bV9mYXVsdCAqdm1mLCBwZm5fdCBwZm4sIGJvb2wgd3JpdGUpOwo+IGRpZmYgLS1n aXQgYS9pbmNsdWRlL2xpbnV4L3BndGFibGUuaCBiL2luY2x1ZGUvbGludXgvcGd0YWJsZS5oCj4g aW5kZXggZTJjNzYxZGQ2YzQxLi5kZTQ1ZjQ3NWJmOGQgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9s aW51eC9wZ3RhYmxlLmgKPiArKysgYi9pbmNsdWRlL2xpbnV4L3BndGFibGUuaAo+IEBAIC0xNDcz LDYgKzE0NzMsMTEgQEAgc3RhdGljIGlubGluZSB2bV9mYXVsdF90IGFyY2hfZG9fcGFnZV9mYXVs dF9vbl9hY2Nlc3Moc3RydWN0IHZtX2ZhdWx0ICp2bWYpCj4gIHsKPiAgICAgICAgIHJldHVybiBW TV9GQVVMVF9TSUdCVVM7Cj4gIH0KPiArCj4gK3N0YXRpYyBpbmxpbmUgdm1fZmF1bHRfdCBhcmNo X2RvX2h1Z2VfcGFnZV9mYXVsdF9vbl9hY2Nlc3Moc3RydWN0IHZtX2ZhdWx0ICp2bWYpCj4gK3sK PiArICAgICAgIHJldHVybiBWTV9GQVVMVF9TSUdCVVM7Cj4gK30KPiAgI2VuZGlmCj4KPiAgI2Vu ZGlmIC8qIENPTkZJR19NTVUgKi8KPiBkaWZmIC0tZ2l0IGEvbW0vaHVnZV9tZW1vcnkuYyBiL21t L2h1Z2VfbWVtb3J5LmMKPiBpbmRleCA5YmVlYWQ5NjFhNjUuLmQxNDAyYjQzZWEzOSAxMDA2NDQK PiAtLS0gYS9tbS9odWdlX21lbW9yeS5jCj4gKysrIGIvbW0vaHVnZV9tZW1vcnkuYwo+IEBAIC0x NDA2LDggKzE0MDYsOCBAQCB2bV9mYXVsdF90IGRvX2h1Z2VfcG1kX3dwX3BhZ2Uoc3RydWN0IHZt X2ZhdWx0ICp2bWYpCj4gICAgICAgICByZXR1cm4gVk1fRkFVTFRfRkFMTEJBQ0s7Cj4gIH0KPgo+ IC1zdGF0aWMgaW5saW5lIGJvb2wgY2FuX2NoYW5nZV9wbWRfd3JpdGFibGUoc3RydWN0IHZtX2Fy ZWFfc3RydWN0ICp2bWEsCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVuc2lnbmVkIGxvbmcgYWRkciwgcG1kX3QgcG1kKQo+ICtpbmxpbmUgYm9vbCBjYW5fY2hh bmdlX3BtZF93cml0YWJsZShzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwKClJlbW92ZSBpbmxp bmUga2V5d29yZCBoZXJlLgoKUGV0ZXIKCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdW5zaWduZWQgbG9uZyBhZGRyLCBwbWRfdCBwbWQpCj4gIHsKPiAgICAgICAgIHN0cnVj dCBwYWdlICpwYWdlOwo+Cj4gZGlmZiAtLWdpdCBhL21tL21lbW9yeS5jIGIvbW0vbWVtb3J5LmMK PiBpbmRleCBhMDRhOTcxMjAwYjkuLjQ2YjkyNjYyNTUwMyAxMDA2NDQKPiAtLS0gYS9tbS9tZW1v cnkuYwo+ICsrKyBiL21tL21lbW9yeS5jCj4gQEAgLTUxNjgsNiArNTE2OCw5IEBAIHN0YXRpYyB2 bV9mYXVsdF90IF9faGFuZGxlX21tX2ZhdWx0KHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLAo+ ICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOwo+ICAgICAgICAgICAgICAgICB9Cj4g ICAgICAgICAgICAgICAgIGlmIChwbWRfdHJhbnNfaHVnZSh2bWYub3JpZ19wbWQpIHx8IHBtZF9k ZXZtYXAodm1mLm9yaWdfcG1kKSkgewo+ICsgICAgICAgICAgICAgICAgICAgICAgIGlmIChmYXVs dF9vbl9hY2Nlc3NfcG1kKHZtZi5vcmlnX3BtZCkgJiYgdm1hX2lzX2FjY2Vzc2libGUodm1hKSkK PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhcmNoX2RvX2h1Z2VfcGFn ZV9mYXVsdF9vbl9hY2Nlc3MoJnZtZik7Cj4gKwo+ICAgICAgICAgICAgICAgICAgICAgICAgIGlm IChwbWRfcHJvdG5vbmUodm1mLm9yaWdfcG1kKSAmJiB2bWFfaXNfYWNjZXNzaWJsZSh2bWEpKQo+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRvX2h1Z2VfcG1kX251bWFf cGFnZSgmdm1mKTsKPgo+IC0tCj4gMi40Mi4xCj4KCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4 LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK