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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1109AC3DA4A for ; Mon, 5 Aug 2024 19:03:50 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 50BE86B0085; Mon, 5 Aug 2024 15:03:50 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4BC606B0088; Mon, 5 Aug 2024 15:03:50 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 35C6B6B0089; Mon, 5 Aug 2024 15:03:50 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 11FD86B0085 for ; Mon, 5 Aug 2024 15:03:50 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 168191A0314 for ; Mon, 5 Aug 2024 18:55:47 +0000 (UTC) X-FDA: 82419095934.10.E24717D Received: from mail-ed1-f41.google.com (mail-ed1-f41.google.com [209.85.208.41]) by imf04.hostedemail.com (Postfix) with ESMTP id B77E440003 for ; Mon, 5 Aug 2024 18:55:44 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=Cf3q8qvz; spf=pass (imf04.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.208.41 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1722884063; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=tyvQPXOot/jroH3JmT/WaEXHZ1voWo5O/ydZzohEKJQ=; b=OoHutmTg1EkjmhEm66JYqgYXia1mJZmh5MyI65eE6oo079IQu+sjxe9Y8fSxhobVug8XJ1 cAWjlT+H60hZ3GeUXmrOkKj9sOijtH0bfBQDg7N9ZjESLusxBrXW7xqiR82ULG8D36cXfB 8172CN6URbySj4q0Ny9aF2kUTh31/Aw= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=Cf3q8qvz; spf=pass (imf04.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.208.41 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1722884063; a=rsa-sha256; cv=none; b=FuwIquK2Hw2/cbY+VcLZFYgmx1lGDcei8EjoMeyAePJr0LbvC4Uqfwg0xuDMRBBGOunlEq I9gcXWlG43x+N3d8RyTJSbHrsfQHvBFxRZe2PGfA+qGpB500qOrq//fUW3HjW/SzPFiMj6 3lzV/aYBWlxosB/eO25F8bRQ534fzSI= Received: by mail-ed1-f41.google.com with SMTP id 4fb4d7f45d1cf-5a108354819so14733337a12.0 for ; Mon, 05 Aug 2024 11:55:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; t=1722884143; x=1723488943; darn=kvack.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=tyvQPXOot/jroH3JmT/WaEXHZ1voWo5O/ydZzohEKJQ=; b=Cf3q8qvzPZrcmGdSyyXDW9tdybOOejenibmPVPdhZsQLxr1tCit1wtUV+H0H3FCPSx it+SDpMG1auTqvk0dEeBXCcA1a4p29KxRYPY9UhsnjzXX5dvZChhREQykREsN4nXTwKb qqfbd3bj6ChjlUwzwxHXyDUiV9fj614ahjOFU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722884143; x=1723488943; h=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=tyvQPXOot/jroH3JmT/WaEXHZ1voWo5O/ydZzohEKJQ=; b=LMd46AutNIvN3SocFYuaIWnf6xZIqx7Rr+RiutDVywDhtj9HXH4c9cQq4xjyDns5CH NeKTO/Grg0D9UipTBI7Y9Jx3UIQqWRVSIfs/vdm3DHwKjAkyf7MlpZ+CdqPShx3yYMGl wnHOzYcbfQFZtavtZLJiFPoWmEkbg3K1FO0M2Yalmh5vaP9uD5nqlihcPNtyTFLG3QPx bnmdw18q5N6czt/mewlWnXqs5IK5kj/XdX2PAeB46iEJNq94YvWsZwH2tL6BpZ/rDhin qDTzoZNHT37G4s0SyIvaHmrEv29H5J3uLAK8y3gTm57EQlmA0fr9G/QwucBgukOF42dy TmCw== X-Forwarded-Encrypted: i=1; AJvYcCUzELSV5Wpml0KUs8VfwFYlCIYCmTX+rE5zoLcU4rZbc/SICYHbuhIYeuzg0pRonoVWQXN7yZR2DVsfHtNa378FQeU= X-Gm-Message-State: AOJu0YyApNUTTbNCvPHIG8PLtSu6fd5khh3KEeP1SPXWSwQUpIMN9UU9 vsxXpBivW8g12RL6lDpiVR3cmhnOKfPR4XW1YCZZFS0Y+EKfPNSeNvP2YpRdg5DMIVWhwo7TZpO aM4g= X-Google-Smtp-Source: AGHT+IEVKCfMwy5gZwItwhC2nRlnKqbcNqjaM3JiEYUqPrxmIhs1X2c3VSW5ii0HQKDPfjc/LvBTpQ== X-Received: by 2002:a17:907:3e0f:b0:a7a:a4be:2f92 with SMTP id a640c23a62f3a-a7dc4dc0877mr884467666b.13.1722884142930; Mon, 05 Aug 2024 11:55:42 -0700 (PDT) Received: from mail-ed1-f41.google.com (mail-ed1-f41.google.com. [209.85.208.41]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a7de2d923ccsm356955466b.79.2024.08.05.11.55.42 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 05 Aug 2024 11:55:42 -0700 (PDT) Received: by mail-ed1-f41.google.com with SMTP id 4fb4d7f45d1cf-5a156557029so15564328a12.2 for ; Mon, 05 Aug 2024 11:55:42 -0700 (PDT) X-Forwarded-Encrypted: i=1; AJvYcCUuQJn5UMdXTwcGJZwxqISTHYvHUXyNF1RUM5oVtCXhJ9eXNrxUHkn2ZiFhjOT3BbnFv0Ji7i2gN4LQIYNjpmtM/gU= X-Received: by 2002:aa7:d34e:0:b0:5a2:7f47:c729 with SMTP id 4fb4d7f45d1cf-5b7f3bcfee4mr9218233a12.9.1722884141890; Mon, 05 Aug 2024 11:55:41 -0700 (PDT) MIME-Version: 1.0 References: <202408041602.caa0372-oliver.sang@intel.com> In-Reply-To: From: Linus Torvalds Date: Mon, 5 Aug 2024 11:55:25 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [linus:master] [mseal] 8be7258aad: stress-ng.pagemove.page_remaps_per_sec -4.4% regression To: Jeff Xu , Michael Ellerman , Nicholas Piggin , Christophe Leroy Cc: Pedro Falcato , kernel test robot , Jeff Xu , oe-lkp@lists.linux.dev, lkp@intel.com, linux-kernel@vger.kernel.org, Andrew Morton , Kees Cook , "Liam R. Howlett" , Dave Hansen , Greg Kroah-Hartman , Guenter Roeck , Jann Horn , Jonathan Corbet , Jorge Lucangeli Obes , Matthew Wilcox , Muhammad Usama Anjum , =?UTF-8?Q?Stephen_R=C3=B6ttger?= , Suren Baghdasaryan , Amer Al Shanawany , Javier Carrasco , Shuah Khan , linux-api@vger.kernel.org, linux-mm@kvack.org, ying.huang@intel.com, feng.tang@intel.com, fengwei.yin@intel.com Content-Type: multipart/mixed; boundary="00000000000044bb81061ef439ea" X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: B77E440003 X-Stat-Signature: hy1x91zzqs6hugeefgeid4jjakcz8yne X-Rspam-User: X-HE-Tag: 1722884144-973304 X-HE-Meta: U2FsdGVkX1+t5ZOXs/UhkOdtV7CtB3C4yNldosS09Mlcuv7SBCtxlftNY+A61SU5nHcLotZzUNB9bn5liztyTSwcyMcKfeNm5M60+6Ty6JHfvvBQ3YgMHAXiyeWQ6Re88a0HJbeC1kXXBL7KZE2IID6KTvG3kaYVmziydTXRfhPRzZj6E6e+8WNQ4cMX1PxXtgGvGx+dR0vcn2CLOpKERWsFIIPpielbBjilLDTcNAvriivOSBG4MUZk+IX5Sl8kt1CRBkCf1UVtJzxe87dHcFEdBMbZqQTLh/tiJWQ4R5Z7RzumKWlrJLtfrgBEwLvTEEUYtYxX/e9Hnq3a8evOTGvpDxDtNHb2MGP4Lyz85pGuSi4KsuzSn8A5drMCdFn6gTkdexu2Rfui+NyisPk/AVYcT+/oFNdz4YGX3AVSUaxYylomrVryqao8ScAMX7hZGUgr/23cPL9fCjNo8OxKWkBg+t7uxxxzKaxO65rtFfNQRotjr4wKys/25rl57p6zKNlF6WlnhCmx01ty5uGMsdnYr3AOVFk+jGvgythhggjdgVMInzPyk3JDGl2X0GyoK819GhCLtEZEeMww/7cDTFajPjQTFBgMFCENWHbBFkQFYXkHXP5hpaVNAxdemmw0ALev7Lyko2HlKAJeZqQzGA6KBXFrWh6HVRJl2quZSrzE34xl3O2vwp92944du7vk510rcPbzUfHgSSDIWXC3jE8wbt8aQu7Zd++6tzXemDgIo2ByQT8obWwHk4XNaAbLwilVXtFWms+1uTYs1o369+ZN3kQWuGIloagiRunkzZBgdOVXFMD02Jn0ns2I5bo96Icx1IT6uwQ5plWLK2hBBDCqJLVNmLKZgfJT7mm1K3AQAw10lM/+G/4BRTQvl1n3ALZCVksXFnKYtr51Rj8OsvC+kXGMX1dWndWTHcW7TS8x7KqKnu8Nyz4o91xNgMRv0lPfguv/bIlgNrn+NUH fj8dXlcX GXdF5HFV9ifmUmjTILk6LdEEG90k9KJ615iYnHFuXtCWAja7/qEAxudFyxy0hzJd20b27/QaGrQxK5pVR5ZIFwU5fsS+w721fNBFDoqhYjqJQUpnkMxEfDlGUadmt1QUno3exlHPpg5Pk8MbHeUaLWR1lozw21E8iLGDQkRAAE/sKTTSDRFiSPl0Pel6sQC3rzNRN8mWVm82/FSRZv/ik9QC624e4UJxZ/qfBvBoQQt8SwQ1FvgGHyCeOtqo2zSSjgebfUw1QCB5TQnlnwPzH/Sjz9WUt9pW+4Y6O8x3JNM8zb9phRulllQ3+uTNnXLAij3rR5V50J1l2mAfiRblnLYgTs6Fir+H5IBCkVY8S6Yzts8MQ5vr0acvmtSj8U8a2dTQtSn2DRgYZ0DBOZTh8uxK607NdO+6UQGjJieif/72xeDanFMkcTCPDfmu3Gw7Fi0PXsYt+q57peLIl+3QraVqQK31zh4tzKMaCrRC5s0TEswtcTwV7Vk4MoubpnPHVTCEtKPQHta9uRZoPGpIxL0Gkb1pf+5pJ+h0yE4/qTGMyTBokc0suIJyuvzcutkf1zHS6kRsvzPnUlP4ePcui7RFfZ7hPZ4RyZFgy5wHjWhtLxK7IjqT2u//qBL4YZ35vCFOlCmXorfS1iUS5opVlLQ8wARBMz2XGd3oAyk0HwoJ2f8Fs9K+PUFB77/L/W1B1vwchQg+uYjmVDoH9c5tCFi0Y1c6kEy8aTzltVPYlF7lsdAusJ4l5d1lbxdjRN6nBJai/LNqbNceFHJqI381dTAPb4xsvLpPtHg/kxdQMc5X7VbDyAHYwzIw2zLDVZv/PeKcR1bCtkFMdrnTTs9wbCrCkc+nXbMpfUT0z X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: --00000000000044bb81061ef439ea Content-Type: text/plain; charset="UTF-8" On Mon, 5 Aug 2024 at 11:11, Jeff Xu wrote: > > One thing that you can't walk around is that can_modify_mm must be > called prior to arch_unmap, that means in-place check for the munmap > is not possible. Actually, we should move 'arch_unmap()'. There is only one user of it, and it's pretty pointless. (Ok, there are two users - x86 also has an 'arch_unmap()', but it's empty). The reason I say that the current user of arch_unmap() is pointless is because this is what the powerpc user does: static inline void arch_unmap(struct mm_struct *mm, unsigned long start, unsigned long end) { unsigned long vdso_base = (unsigned long)mm->context.vdso; if (start <= vdso_base && vdso_base < end) mm->context.vdso = NULL; } and that would make sense if we didn't have an actual 'vma' that matched the vdso. But we do. I think this code may predate the whole "create a vma for the vdso" code. Or maybe it was just always confused. Anyway, what the code *should* do is that we should just have a ->close() function for special mappings, and call that in special_mapping_close(). This is an ENTIRELY UNTESTED patch that gets rid of this horrendous wart. Michael / Nick / Christophe? Note that I didn't even compile-test this on x86-64, much less on powerpc. So please consider this a "maybe something like this" patch, but that 'arch_unmap()' really is pretty nasty. Oh, and there was a bug in the error path of the powerpc vdso setup code anyway. The patch fixes that too, although considering the entirely untested nature of it, the "fixes" is laughably optimistic. Linus --00000000000044bb81061ef439ea Content-Type: text/x-patch; charset="US-ASCII"; name="patch.diff" Content-Disposition: attachment; filename="patch.diff" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lzhcoox80 IGFyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9tbXVfY29udGV4dC5oIHwgIDkgLS0tLS0tLS0tCiBh cmNoL3Bvd2VycGMva2VybmVsL3Zkc28uYyAgICAgICAgICAgICB8IDEyICsrKysrKysrKysrLQog YXJjaC94ODYvaW5jbHVkZS9hc20vbW11X2NvbnRleHQuaCAgICAgfCAgNSAtLS0tLQogaW5jbHVk ZS9hc20tZ2VuZXJpYy9tbV9ob29rcy5oICAgICAgICAgfCAxMSArKystLS0tLS0tLQogaW5jbHVk ZS9saW51eC9tbV90eXBlcy5oICAgICAgICAgICAgICAgfCAgMiArKwogbW0vbW1hcC5jICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAxNSArKysrKystLS0tLS0tLS0KIDYgZmlsZXMgY2hh bmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgMzIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvYXJj aC9wb3dlcnBjL2luY2x1ZGUvYXNtL21tdV9jb250ZXh0LmggYi9hcmNoL3Bvd2VycGMvaW5jbHVk ZS9hc20vbW11X2NvbnRleHQuaAppbmRleCAzN2JmZmEwZjc5MTguLmEzMzRhMTM2ODg0OCAxMDA2 NDQKLS0tIGEvYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL21tdV9jb250ZXh0LmgKKysrIGIvYXJj aC9wb3dlcnBjL2luY2x1ZGUvYXNtL21tdV9jb250ZXh0LmgKQEAgLTI2MCwxNSArMjYwLDYgQEAg c3RhdGljIGlubGluZSB2b2lkIGVudGVyX2xhenlfdGxiKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLAog CiBleHRlcm4gdm9pZCBhcmNoX2V4aXRfbW1hcChzdHJ1Y3QgbW1fc3RydWN0ICptbSk7CiAKLXN0 YXRpYyBpbmxpbmUgdm9pZCBhcmNoX3VubWFwKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLAotCQkJICAg ICAgdW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpCi17Ci0JdW5zaWduZWQg bG9uZyB2ZHNvX2Jhc2UgPSAodW5zaWduZWQgbG9uZyltbS0+Y29udGV4dC52ZHNvOwotCi0JaWYg KHN0YXJ0IDw9IHZkc29fYmFzZSAmJiB2ZHNvX2Jhc2UgPCBlbmQpCi0JCW1tLT5jb250ZXh0LnZk c28gPSBOVUxMOwotfQotCiAjaWZkZWYgQ09ORklHX1BQQ19NRU1fS0VZUwogYm9vbCBhcmNoX3Zt YV9hY2Nlc3NfcGVybWl0dGVkKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLCBib29sIHdyaXRl LAogCQkJICAgICAgIGJvb2wgZXhlY3V0ZSwgYm9vbCBmb3JlaWduKTsKZGlmZiAtLWdpdCBhL2Fy Y2gvcG93ZXJwYy9rZXJuZWwvdmRzby5jIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC92ZHNvLmMKaW5k ZXggN2EyZmY5MDEwZjE3Li40ZGU4YWY0M2Y5MjAgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9r ZXJuZWwvdmRzby5jCisrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvdmRzby5jCkBAIC04MSwxMiAr ODEsMjAgQEAgc3RhdGljIGludCB2ZHNvNjRfbXJlbWFwKGNvbnN0IHN0cnVjdCB2bV9zcGVjaWFs X21hcHBpbmcgKnNtLCBzdHJ1Y3Qgdm1fYXJlYV9zdHIKIAlyZXR1cm4gdmRzb19tcmVtYXAoc20s IG5ld192bWEsICZ2ZHNvNjRfZW5kIC0gJnZkc282NF9zdGFydCk7CiB9CiAKK3N0YXRpYyBpbnQg dnZhcl9jbG9zZShjb25zdCBzdHJ1Y3Qgdm1fc3BlY2lhbF9tYXBwaW5nICpzbSwKKwkJICAgICAg c3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpCit7CisJc3RydWN0IG1tX3N0cnVjdCAqbW0gPSB2 bWEtPnZtX21tOworCW1tLT5jb250ZXh0LnZkc28gPSBOVUxMOworfQorCiBzdGF0aWMgdm1fZmF1 bHRfdCB2dmFyX2ZhdWx0KGNvbnN0IHN0cnVjdCB2bV9zcGVjaWFsX21hcHBpbmcgKnNtLAogCQkJ ICAgICBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwgc3RydWN0IHZtX2ZhdWx0ICp2bWYpOwog CiBzdGF0aWMgc3RydWN0IHZtX3NwZWNpYWxfbWFwcGluZyB2dmFyX3NwZWMgX19yb19hZnRlcl9p bml0ID0gewogCS5uYW1lID0gIlt2dmFyXSIsCiAJLmZhdWx0ID0gdnZhcl9mYXVsdCwKKwkuY2xv c2UgPSB2dmFyX2Nsb3NlLAogfTsKIAogc3RhdGljIHN0cnVjdCB2bV9zcGVjaWFsX21hcHBpbmcg dmRzbzMyX3NwZWMgX19yb19hZnRlcl9pbml0ID0gewpAQCAtMjA3LDggKzIxNSwxMCBAQCBzdGF0 aWMgaW50IF9fYXJjaF9zZXR1cF9hZGRpdGlvbmFsX3BhZ2VzKHN0cnVjdCBsaW51eF9iaW5wcm0g KmJwcm0sIGludCB1c2VzX2ludAogCXZtYSA9IF9pbnN0YWxsX3NwZWNpYWxfbWFwcGluZyhtbSwg dmRzb19iYXNlLCB2dmFyX3NpemUsCiAJCQkJICAgICAgIFZNX1JFQUQgfCBWTV9NQVlSRUFEIHwg Vk1fSU8gfAogCQkJCSAgICAgICBWTV9ET05URFVNUCB8IFZNX1BGTk1BUCwgJnZ2YXJfc3BlYyk7 Ci0JaWYgKElTX0VSUih2bWEpKQorCWlmIChJU19FUlIodm1hKSkgeworCQltbS0+Y29udGV4dC52 ZHNvID0gTlVMTDsKIAkJcmV0dXJuIFBUUl9FUlIodm1hKTsKKwl9CiAKIAkvKgogCSAqIG91ciB2 bWEgZmxhZ3MgZG9uJ3QgaGF2ZSBWTV9XUklURSBzbyBieSBkZWZhdWx0LCB0aGUgcHJvY2VzcyBp c24ndApkaWZmIC0tZ2l0IGEvYXJjaC94ODYvaW5jbHVkZS9hc20vbW11X2NvbnRleHQuaCBiL2Fy Y2gveDg2L2luY2x1ZGUvYXNtL21tdV9jb250ZXh0LmgKaW5kZXggOGRhYzQ1YTJjN2ZjLi44MGYy YTMxODdhYTYgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL21tdV9jb250ZXh0LmgK KysrIGIvYXJjaC94ODYvaW5jbHVkZS9hc20vbW11X2NvbnRleHQuaApAQCAtMjMyLDExICsyMzIs NiBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNfNjRiaXRfbW0oc3RydWN0IG1tX3N0cnVjdCAqbW0p CiB9CiAjZW5kaWYKIAotc3RhdGljIGlubGluZSB2b2lkIGFyY2hfdW5tYXAoc3RydWN0IG1tX3N0 cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgc3RhcnQsCi0JCQkgICAgICB1bnNpZ25lZCBsb25nIGVu ZCkKLXsKLX0KLQogLyoKICAqIFdlIG9ubHkgd2FudCB0byBlbmZvcmNlIHByb3RlY3Rpb24ga2V5 cyBvbiB0aGUgY3VycmVudCBwcm9jZXNzCiAgKiBiZWNhdXNlIHdlIGVmZmVjdGl2ZWx5IGhhdmUg bm8gYWNjZXNzIHRvIFBLUlUgZm9yIG90aGVyCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1nZW5l cmljL21tX2hvb2tzLmggYi9pbmNsdWRlL2FzbS1nZW5lcmljL21tX2hvb2tzLmgKaW5kZXggNGRi YjE3N2QxMTUwLi42ZWVhM2IzYzFlNjUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWdlbmVyaWMv bW1faG9va3MuaAorKysgYi9pbmNsdWRlL2FzbS1nZW5lcmljL21tX2hvb2tzLmgKQEAgLTEsOCAr MSw4IEBACiAvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCAqLwogLyoKLSAqIERl ZmluZSBnZW5lcmljIG5vLW9wIGhvb2tzIGZvciBhcmNoX2R1cF9tbWFwLCBhcmNoX2V4aXRfbW1h cAotICogYW5kIGFyY2hfdW5tYXAgdG8gYmUgaW5jbHVkZWQgaW4gYXNtLUZPTy9tbXVfY29udGV4 dC5oIGZvciBhbnkKLSAqIGFyY2ggRk9PIHdoaWNoIGRvZXNuJ3QgbmVlZCB0byBob29rIHRoZXNl LgorICogRGVmaW5lIGdlbmVyaWMgbm8tb3AgaG9va3MgZm9yIGFyY2hfZHVwX21tYXAgYW5kIGFy Y2hfZXhpdF9tbWFwCisgKiB0byBiZSBpbmNsdWRlZCBpbiBhc20tRk9PL21tdV9jb250ZXh0Lmgg Zm9yIGFueSBhcmNoIEZPTyB3aGljaAorICogZG9lc24ndCBuZWVkIHRvIGhvb2sgdGhlc2UuCiAg Ki8KICNpZm5kZWYgX0FTTV9HRU5FUklDX01NX0hPT0tTX0gKICNkZWZpbmUgX0FTTV9HRU5FUklD X01NX0hPT0tTX0gKQEAgLTE3LDExICsxNyw2IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBhcmNoX2V4 aXRfbW1hcChzdHJ1Y3QgbW1fc3RydWN0ICptbSkKIHsKIH0KIAotc3RhdGljIGlubGluZSB2b2lk IGFyY2hfdW5tYXAoc3RydWN0IG1tX3N0cnVjdCAqbW0sCi0JCQl1bnNpZ25lZCBsb25nIHN0YXJ0 LCB1bnNpZ25lZCBsb25nIGVuZCkKLXsKLX0KLQogc3RhdGljIGlubGluZSBib29sIGFyY2hfdm1h X2FjY2Vzc19wZXJtaXR0ZWQoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsCiAJCWJvb2wgd3Jp dGUsIGJvb2wgZXhlY3V0ZSwgYm9vbCBmb3JlaWduKQogewpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9s aW51eC9tbV90eXBlcy5oIGIvaW5jbHVkZS9saW51eC9tbV90eXBlcy5oCmluZGV4IDQ4NTQyNDk3 OTI1NC4uZWYzMmQ4N2EzYWRjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L21tX3R5cGVzLmgK KysrIGIvaW5jbHVkZS9saW51eC9tbV90eXBlcy5oCkBAIC0xMzEzLDYgKzEzMTMsOCBAQCBzdHJ1 Y3Qgdm1fc3BlY2lhbF9tYXBwaW5nIHsKIAogCWludCAoKm1yZW1hcCkoY29uc3Qgc3RydWN0IHZt X3NwZWNpYWxfbWFwcGluZyAqc20sCiAJCSAgICAgc3RydWN0IHZtX2FyZWFfc3RydWN0ICpuZXdf dm1hKTsKKwl2b2lkICgqY2xvc2UpKGNvbnN0IHN0cnVjdCB2bV9zcGVjaWFsX21hcHBpbmcgKnNt LAorCQkgICAgICBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSk7CiB9OwogCiBlbnVtIHRsYl9m bHVzaF9yZWFzb24gewpkaWZmIC0tZ2l0IGEvbW0vbW1hcC5jIGIvbW0vbW1hcC5jCmluZGV4IGQw ZGZjODViMjA5Yi4uYWRhYWYxZWYxOTdhIDEwMDY0NAotLS0gYS9tbS9tbWFwLmMKKysrIGIvbW0v bW1hcC5jCkBAIC0yNzg5LDcgKzI3ODksNyBAQCBkb192bWlfYWxpZ25fbXVubWFwKHN0cnVjdCB2 bWFfaXRlcmF0b3IgKnZtaSwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsCiAgKgogICogVGhp cyBmdW5jdGlvbiB0YWtlcyBhIEBtYXMgdGhhdCBpcyBlaXRoZXIgcG9pbnRpbmcgdG8gdGhlIHBy ZXZpb3VzIFZNQSBvciBzZXQKICAqIHRvIE1BX1NUQVJUIGFuZCBzZXRzIGl0IHVwIHRvIHJlbW92 ZSB0aGUgbWFwcGluZyhzKS4gIFRoZSBAbGVuIHdpbGwgYmUKLSAqIGFsaWduZWQgYW5kIGFueSBh cmNoX3VubWFwIHdvcmsgd2lsbCBiZSBwcmVmb3JtZWQuCisgKiBhbGlnbmVkLgogICoKICAqIFJl dHVybjogMCBvbiBzdWNjZXNzIGFuZCBkcm9wcyB0aGUgbG9jayBpZiBzbyBkaXJlY3RlZCwgZXJy b3IgYW5kIGxlYXZlcyB0aGUKICAqIGxvY2sgaGVsZCBvdGhlcndpc2UuCkBAIC0yODA5LDE2ICsy ODA5LDEyIEBAIGludCBkb192bWlfbXVubWFwKHN0cnVjdCB2bWFfaXRlcmF0b3IgKnZtaSwgc3Ry dWN0IG1tX3N0cnVjdCAqbW0sCiAJCXJldHVybiAtRUlOVkFMOwogCiAJLyoKLQkgKiBDaGVjayBp ZiBtZW1vcnkgaXMgc2VhbGVkIGJlZm9yZSBhcmNoX3VubWFwLgotCSAqIFByZXZlbnQgdW5tYXBw aW5nIGEgc2VhbGVkIFZNQS4KKwkgKiBDaGVjayBpZiBtZW1vcnkgaXMgc2VhbGVkLCBwcmV2ZW50 IHVubWFwcGluZyBhIHNlYWxlZCBWTUEuCiAJICogY2FuX21vZGlmeV9tbSBhc3N1bWVzIHdlIGhh dmUgYWNxdWlyZWQgdGhlIGxvY2sgb24gTU0uCiAJICovCiAJaWYgKHVubGlrZWx5KCFjYW5fbW9k aWZ5X21tKG1tLCBzdGFydCwgZW5kKSkpCiAJCXJldHVybiAtRVBFUk07CiAKLQkgLyogYXJjaF91 bm1hcCgpIG1pZ2h0IGRvIHVubWFwcyBpdHNlbGYuICAqLwotCWFyY2hfdW5tYXAobW0sIHN0YXJ0 LCBlbmQpOwotCiAJLyogRmluZCB0aGUgZmlyc3Qgb3ZlcmxhcHBpbmcgVk1BICovCiAJdm1hID0g dm1hX2ZpbmQodm1pLCBlbmQpOwogCWlmICghdm1hKSB7CkBAIC0zMjMyLDE0ICszMjI4LDEyIEBA IGludCBkb192bWFfbXVubWFwKHN0cnVjdCB2bWFfaXRlcmF0b3IgKnZtaSwgc3RydWN0IHZtX2Fy ZWFfc3RydWN0ICp2bWEsCiAJc3RydWN0IG1tX3N0cnVjdCAqbW0gPSB2bWEtPnZtX21tOwogCiAJ LyoKLQkgKiBDaGVjayBpZiBtZW1vcnkgaXMgc2VhbGVkIGJlZm9yZSBhcmNoX3VubWFwLgotCSAq IFByZXZlbnQgdW5tYXBwaW5nIGEgc2VhbGVkIFZNQS4KKwkgKiBDaGVjayBpZiBtZW1vcnkgaXMg c2VhbGVkLCBwcmV2ZW50IHVubWFwcGluZyBhIHNlYWxlZCBWTUEuCiAJICogY2FuX21vZGlmeV9t bSBhc3N1bWVzIHdlIGhhdmUgYWNxdWlyZWQgdGhlIGxvY2sgb24gTU0uCiAJICovCiAJaWYgKHVu bGlrZWx5KCFjYW5fbW9kaWZ5X21tKG1tLCBzdGFydCwgZW5kKSkpCiAJCXJldHVybiAtRVBFUk07 CiAKLQlhcmNoX3VubWFwKG1tLCBzdGFydCwgZW5kKTsKIAlyZXR1cm4gZG9fdm1pX2FsaWduX211 bm1hcCh2bWksIHZtYSwgbW0sIHN0YXJ0LCBlbmQsIHVmLCB1bmxvY2spOwogfQogCkBAIC0zNjI0 LDYgKzM2MTgsOSBAQCBzdGF0aWMgdm1fZmF1bHRfdCBzcGVjaWFsX21hcHBpbmdfZmF1bHQoc3Ry dWN0IHZtX2ZhdWx0ICp2bWYpOwogICovCiBzdGF0aWMgdm9pZCBzcGVjaWFsX21hcHBpbmdfY2xv c2Uoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpCiB7CisJY29uc3Qgc3RydWN0IHZtX3NwZWNp YWxfbWFwcGluZyAqc20gPSB2bWEtPnZtX3ByaXZhdGVfZGF0YTsKKwlpZiAoc20tPmNsb3NlKQor CQlzbS0+Y2xvc2Uoc20sIHZtYSk7CiB9CiAKIHN0YXRpYyBjb25zdCBjaGFyICpzcGVjaWFsX21h cHBpbmdfbmFtZShzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkK --00000000000044bb81061ef439ea--