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 3C2D8CFC5EB for ; Thu, 10 Oct 2024 18:43:19 +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:Reply-To:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:From:Subject:Message-ID :References:Mime-Version:In-Reply-To:Date:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=EZjcCAr8GXqjYtOv6SCM8qN/l70/JByu3sz+z7Oo5PY=; b=m+tlwgsq+zFt/q 2aGIAipXT+tTUGaKzFX9yxFIT6tun8QTbNAV58u0uE8rUtOOc+XWJLHFRbmqfyd4hDWpzFaedFuZu PjcsRQi57egLifLwl5pxDbsNEmUicGoqoil+SIve1aytiOmnmlgwNOL76rWXnJ6RWZVEOG2OeHnqD iiEL5yQ/CZbJir5aRSNADI61fIh1/weOTuaeXnUZfHPi46LiQzqMZ37SCsRD6dTwASKyRizcXtPTJ W+cWQsmi/Xi4DtiW5YdC2gM2gXSqvg4LxV3Ye+A/VPEXPVPERnb5/VppOHaWGboxG0LnQZoBMrtC2 aoQsoyLhAqZ+sac/SyRQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1syy82-0000000Dxba-1qfm; Thu, 10 Oct 2024 18:43:14 +0000 Received: from mail-yw1-x1149.google.com ([2607:f8b0:4864:20::1149]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1syxqa-0000000Dpq0-29s4 for linux-riscv@lists.infradead.org; Thu, 10 Oct 2024 18:25:16 +0000 Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-6e2baf2ff64so22478427b3.0 for ; Thu, 10 Oct 2024 11:25:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1728584711; x=1729189511; darn=lists.infradead.org; h=content-transfer-encoding:cc:to:from:subject:message-id:references :mime-version:in-reply-to:date:reply-to:from:to:cc:subject:date :message-id:reply-to; bh=0ix/Xs4/Qn/2DvOT3Bh000Q598gzWwOGIiO61AJ4Bto=; b=wg6l/e68EEItXXcfocqTbRUpJ/oGTThYQm/2n+G9Mw+E0+rgd/O8ALeeTI0zso3low A4IuPTpimz0NQuRMW8Uj3CXmwznPneCME+/ePXkyHtXW57BceBMbIX5zxGj2TGtYC1iA LVFdYAaz40Ujvh2KG/1U9Je1xNngtGgYPesb2oS8XSfpalOoYSptDzyZkgRIHj1XxtS7 jfP03JdayC4nQ8fEyV8m4KHGF+R0vtK1thWL3EAbusKhT/mQEQYcHogc/b3dLaeVXhMW KAfRABQIpN8xmuoHrALjhVLDeEQTIydOsBSvlnSmtEpSpnJBoskxtDWeYkSylb8yh/GR bXCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1728584711; x=1729189511; h=content-transfer-encoding:cc:to:from:subject:message-id:references :mime-version:in-reply-to:date:reply-to:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=0ix/Xs4/Qn/2DvOT3Bh000Q598gzWwOGIiO61AJ4Bto=; b=I6yXFjD8LjIVn+lGjI/59D1jdkeD87ADoGszVL6gQyeU4Q9M6R3dOppBnOINGp0gBy eIj+yWUDs0am6apoXBbv/x6neGkf9VzDnAi55SXEVlSqCfVjgM4Z7gnZ0IPRdBuG73BL Zz/yfEYN0M5JxCwo9C0hYN91StsRny8KSBQMSupHxMje01bnpOTMkH8fDZC4Vr68u/dO p9mYPVacpJxA4RsnK1ip7YBinfeU2NIQm2xGOk6hgTsN4cSzHaz/7Ic9VkjznYPtTowa e3XU0be1cfSjGkGORoYvEn2kgtdDPXu82GDD7cfyemADAfhPcB+ksclec9En+mNx8I6N Go/w== X-Forwarded-Encrypted: i=1; AJvYcCUC+ECKR4SXVwT7OBq8edSwdXWYT1q3ZeEPXunONOewNoEEnTCQmjQOvK3dkVlAX9fNIy6dw2CcI42lZw==@lists.infradead.org X-Gm-Message-State: AOJu0Yx7VIIlai76zcs1GDPlkXIVLuHGb+5vAuFlhPWWRt5JleY2JeU3 U2Jv1AMJoX5W6+7Nlns3z2oeG3M+RO1xIlhlO/jOavhqUI35oYZloJcU/ZRNRl/yORqQYTYey+b KBQ== X-Google-Smtp-Source: AGHT+IGD2TfP2dloLIlDYfRlI1lvmWPD7YUtu8EYW3dxRXY7JxJbZQIAJnuRF8jcBfCYGhk25T1qJs7AAuY= X-Received: from zagreus.c.googlers.com ([fda3:e722:ac3:cc00:9d:3983:ac13:c240]) (user=seanjc job=sendgmr) by 2002:a05:690c:5b41:b0:6db:c6ac:62a0 with SMTP id 00721157ae682-6e322305467mr243067b3.5.1728584711093; Thu, 10 Oct 2024 11:25:11 -0700 (PDT) Date: Thu, 10 Oct 2024 11:23:11 -0700 In-Reply-To: <20241010182427.1434605-1-seanjc@google.com> Mime-Version: 1.0 References: <20241010182427.1434605-1-seanjc@google.com> X-Mailer: git-send-email 2.47.0.rc1.288.g06298d1525-goog Message-ID: <20241010182427.1434605-10-seanjc@google.com> Subject: [PATCH v13 09/85] KVM: x86/mmu: Mark page/folio accessed only when zapping leaf SPTEs From: Sean Christopherson To: Paolo Bonzini , Marc Zyngier , Oliver Upton , Tianrui Zhao , Bibo Mao , Huacai Chen , Michael Ellerman , Anup Patel , Paul Walmsley , Palmer Dabbelt , Albert Ou , Christian Borntraeger , Janosch Frank , Claudio Imbrenda , Sean Christopherson Cc: kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev, loongarch@lists.linux.dev, linux-mips@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, "=?UTF-8?q?Alex=20Benn=C3=A9e?=" , Yan Zhao , David Matlack , David Stevens , Andrew Jones X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20241010_112512_755809_D99D09BD X-CRM114-Status: GOOD ( 17.34 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Sean Christopherson Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org Tm93IHRoYXQgS1ZNIGRvZXNuJ3QgY2xvYmJlciBBY2Nlc3NlZCBiaXRzIG9mIHNoYWRvdy1wcmVz ZW50IFNQVEVzLAplLmcuIHdoZW4gcHJlZmV0Y2hpbmcsIG1hcmsgZm9saW9zIGFzIGFjY2Vzc2Vk IG9ubHkgd2hlbiB6YXBwaW5nIGxlYWYKU1BURXMsIHdoaWNoIGlzIGEgcm91Z2ggaGV1cmlzdGlj IGZvciAib25seSBpbiByZXNwb25zZSB0byBhbiBtbXVfbm90aWZpZXIKaW52YWxpZGF0aW9uIi4g IFBhZ2UgYWdpbmcgYW5kIExSVXMgYXJlIHRvbGVyYW50IG9mIGZhbHNlIG5lZ2F0aXZlcywgaS5l LgpLVk0gZG9lc24ndCBuZWVkIHRvIGJlIHByZWNpc2UgZm9yIGNvcnJlY3RuZXNzLCBhbmQgcmUt bWFya2luZyBmb2xpb3MgYXMKYWNjZXNzZWQgd2hlbiB6YXBwaW5nIGVudGlyZSByb290cyBvciB3 aGVuIHphcHBpbmcgY29sbGFwc2libGUgU1BURXMgaXMKZXhwZW5zaXZlIGFuZCBhZGRzIHZlcnkg bGl0dGxlIHZhbHVlLgoKRS5nLiB3aGVuIGEgVk0gaXMgZHlpbmcsIGFsbCBvZiBpdHMgbWVtb3J5 IGlzIGJlaW5nIGZyZWVkOyBtYXJraW5nIGZvbGlvcwphY2Nlc3NlZCBhdCB0aGF0IHRpbWUgcHJv dmlkZXMgbm8ga25vd24gdmFsdWUuICBTaW1pbGFybHksIGJlY2F1c2UgS1ZNCm1hcmtzIGZvbGlv cyBhcyBhY2Nlc3NlZCB3aGVuIGNyZWF0aW5nIFNQVEVzLCBtYXJraW5nIGFsbCBmb2xpb3MgYXMK YWNjZXNzZWQgd2hlbiB1c2Vyc3BhY2UgaGFwcGVucyB0byBkZWxldGUgYSBtZW1zbG90IGRvZXNu J3QgYWRkIHZhbHVlLgpUaGUgZm9saW8gd2FzIG1hcmtlZCBhY2Nlc3Mgd2hlbiB0aGUgb2xkIFNQ VEUgd2FzIGNyZWF0ZWQsIGFuZCB3aWxsIGJlCm1hcmtlZCBhY2Nlc3NlZCB5ZXQgYWdhaW4gaWYg YSB2Q1BVIGFjY2Vzc2VzIHRoZSBwZm4gYWdhaW4gYWZ0ZXIgcmVsb2FkaW5nCmEgbmV3IHJvb3Qu ICBaYXBwaW5nIGNvbGxhcHNpYmxlIFNQVEVzIGlzIGEgc2ltaWxhciBzdG9yeTsgbWFya2luZyBm b2xpb3MKYWNjZXNzZWQganVzdCBiZWNhdXNlIHVzZXJzcGFjZSBkaXNhYmxlIGRpcnR5IGxvZ2dp bmcgaXMgYSBzaWRlIGVmZmVjdCBvZgpLVk0gYmVoYXZpb3IsIG5vdCBhIGRlbGliZXJhdGUgZ29h bC4KCkFzIGFuIGludGVybWVkaWF0ZSBzdGVwLCBhLmsuYS4gYmlzZWN0aW9uIHBvaW50LCB0b3dh cmRzICpuZXZlciogbWFya2luZwpmb2xpb3MgYWNjZXNzZWQgd2hlbiBkcm9wcGluZyBTUFRFcywg bWFyayBmb2xpb3MgYWNjZXNzZWQgd2hlbiB0aGUgcHJpbWFyeQpNTVUgbWlnaHQgYmUgaW52YWxp ZGF0aW5nIG1hcHBpbmdzLCBhcyBzdWNoIHphcHBpbmdzIGFyZSBub3QgS1ZNIGluaXRpYXRlZCwK aS5lLiBtaWdodCBhY3R1YWxseSBiZSByZWxhdGVkIHRvIHBhZ2UgYWdpbmcgYW5kIExSVSBhY3Rp dml0eS4KCk5vdGUsIHg4NiBpcyB0aGUgb25seSBLVk0gYXJjaGl0ZWN0dXJlIHRoYXQgImRvdWJs ZSBkaXBzIjsgZXZlcnkgb3RoZXIKYXJjaCBtYXJrcyBwZm5zIGFzIGFjY2Vzc2VkIG9ubHkgd2hl biBtYXBwaW5nIGludG8gdGhlIGd1ZXN0LCBub3Qgd2hlbgptYXBwaW5nIGludG8gdGhlIGd1ZXN0 IF9hbmRfIHdoZW4gcmVtb3ZpbmcgZnJvbSB0aGUgZ3Vlc3QuCgpUZXN0ZWQtYnk6IEFsZXggQmVu bsOpZSA8YWxleC5iZW5uZWVAbGluYXJvLm9yZz4KU2lnbmVkLW9mZi1ieTogU2VhbiBDaHJpc3Rv cGhlcnNvbiA8c2VhbmpjQGdvb2dsZS5jb20+Ci0tLQogRG9jdW1lbnRhdGlvbi92aXJ0L2t2bS9s b2NraW5nLnJzdCB8IDc2ICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQogYXJjaC94ODYv a3ZtL21tdS9tbXUuYyAgICAgICAgICAgICB8ICA0ICstCiBhcmNoL3g4Ni9rdm0vbW11L3RkcF9t bXUuYyAgICAgICAgIHwgIDcgKystCiAzIGZpbGVzIGNoYW5nZWQsIDQzIGluc2VydGlvbnMoKyks IDQ0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vdmlydC9rdm0vbG9j a2luZy5yc3QgYi9Eb2N1bWVudGF0aW9uL3ZpcnQva3ZtL2xvY2tpbmcucnN0CmluZGV4IDIwYTlh MzdkMWNkZC4uM2Q4YmY0MGNhNDQ4IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3ZpcnQva3Zt L2xvY2tpbmcucnN0CisrKyBiL0RvY3VtZW50YXRpb24vdmlydC9rdm0vbG9ja2luZy5yc3QKQEAg LTE0Nyw0OSArMTQ3LDUxIEBAIFRoZW4sIHdlIGNhbiBlbnN1cmUgdGhlIGRpcnR5IGJpdG1hcHMg aXMgY29ycmVjdGx5IHNldCBmb3IgYSBnZm4uCiAKIDIpIERpcnR5IGJpdCB0cmFja2luZwogCi1J biB0aGUgb3JpZ2luIGNvZGUsIHRoZSBzcHRlIGNhbiBiZSBmYXN0IHVwZGF0ZWQgKG5vbi1hdG9t aWNhbGx5KSBpZiB0aGUKK0luIHRoZSBvcmlnaW5hbCBjb2RlLCB0aGUgc3B0ZSBjYW4gYmUgZmFz dCB1cGRhdGVkIChub24tYXRvbWljYWxseSkgaWYgdGhlCiBzcHRlIGlzIHJlYWQtb25seSBhbmQg dGhlIEFjY2Vzc2VkIGJpdCBoYXMgYWxyZWFkeSBiZWVuIHNldCBzaW5jZSB0aGUKIEFjY2Vzc2Vk IGJpdCBhbmQgRGlydHkgYml0IGNhbiBub3QgYmUgbG9zdC4KIAogQnV0IGl0IGlzIG5vdCB0cnVl IGFmdGVyIGZhc3QgcGFnZSBmYXVsdCBzaW5jZSB0aGUgc3B0ZSBjYW4gYmUgbWFya2VkCiB3cml0 YWJsZSBiZXR3ZWVuIHJlYWRpbmcgc3B0ZSBhbmQgdXBkYXRpbmcgc3B0ZS4gTGlrZSBiZWxvdyBj YXNlOgogCi0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCBBdCB0aGUgYmVnaW5uaW5nOjogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8Ci18CXNwdGUuVyA9IDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfAotfAlzcHRlLkFjY2Vzc2VkID0gMSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IENQ VSAwOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBDUFUgMTogICAgICAgICAgICAgICAg ICAgICAgICAgICAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgSW4gbW11X3NwdGVfY2xlYXJfdHJh Y2tfYml0cygpOjogICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfAotfCAgb2xkX3NwdGUgPSAqc3B0ZTsgICAgICAgICAgICAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfAotfCAgLyogJ2lmJyBjb25kaXRpb24gaXMgc2F0aXNmaWVkLiAqL3wgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgIGlmIChvbGRfc3B0ZS5BY2Nlc3Nl ZCA9PSAxICYmICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAg ICAgIG9sZF9zcHRlLlcgPT0gMCkgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfAotfCAgICAgc3B0ZSA9IDB1bGw7ICAgICAgICAgICAgICAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBvbiBmYXN0IHBhZ2UgZmF1bHQgcGF0 aDo6ICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAgIHNwdGUuVyA9IDEgICAgICAgICAgICAgICAgICAgICB8Ci18ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfAotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgbWVt b3J5IHdyaXRlIG9uIHRoZSBzcHRlOjogICAgICAgIHwKLXwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICBzcHRlLkRpcnR5ID0gMSAgICAg ICAgICAgICAgICAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgIDo6ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfAotfCAgIGVsc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICAgIG9sZF9zcHRlID0geGNoZyhz cHRlLCAwdWxsKSAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAg aWYgKG9sZF9zcHRlLkFjY2Vzc2VkID09IDEpICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfAotfCAgICAga3ZtX3NldF9wZm5fYWNjZXNzZWQoc3B0ZS5wZm4pO3wgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLXwgICBpZiAob2xkX3NwdGUuRGlydHkg PT0gMSkgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci18ICAg ICBrdm1fc2V0X3Bmbl9kaXJ0eShzcHRlLnBmbik7ICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfAotfCAgICAgT09QUyEhISAgICAgICAgICAgICAgICAgICAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisrLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSsKK3wgQXQgdGhlIGJlZ2lubmluZzo6ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8 CXNwdGUuVyA9IDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwKK3wJc3B0ZS5BY2Nlc3NlZCA9IDEgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r Cit8IENQVSAwOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgQ1BVIDE6ICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBJbiBtbXVfc3B0ZV91 cGRhdGUoKTo6ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwKK3wgIG9sZF9zcHRlID0gKnNwdGU7ICAgICAgICAgICAg ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgIC8qICdpZicgY29uZGl0aW9uIGlzIHNhdGlz ZmllZC4gKi8gfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorfCAgaWYgKG9s ZF9zcHRlLkFjY2Vzc2VkID09IDEgJiYgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8Cit8ICAgICAgIG9sZF9zcHRlLlcgPT0gMCkgICAgICAgICAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgICAgIHNwdGUgPSBuZXdfc3B0ZTsgICAg ICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rCit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgb24g ZmFzdCBwYWdlIGZhdWx0IHBhdGg6OiAgICAgICAgIHwKK3wgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIHNwdGUuVyA9IDEgICAgICAg ICAgICAgICAgICAgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCBtZW1vcnkgd3JpdGUgb24gdGhlIHNwdGU6OiAgICAgICAgfAor fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgICAgc3B0ZS5EaXJ0eSA9IDEgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t KworfCAgOjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgICBlbHNlICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfAorfCAgICAgb2xkX3NwdGUgPSB4Y2hnKHNwdGUsIG5ld19zcHRlKTt8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8Cit8ICAgaWYgKG9sZF9zcHRlLkFjY2Vzc2VkICYmICAg ICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAgIW5l d19zcHRlLkFjY2Vzc2VkKSAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfAorfCAgICAgZmx1c2ggPSB0cnVlOyAgICAgICAgICAgICAgICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8ICAgaWYgKG9sZF9zcHRlLkRpcnR5ICYmICAg ICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAg IW5ld19zcHRlLkRpcnR5KSAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfAorfCAgICAgZmx1c2ggPSB0cnVlOyAgICAgICAgICAgICAgICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8ICAgICBPT1BTISEhICAgICAgICAgICAg ICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKystLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKwogCiBUaGUgRGlydHkgYml0IGlzIGxvc3QgaW4gdGhpcyBjYXNlLgogCmRp ZmYgLS1naXQgYS9hcmNoL3g4Ni9rdm0vbW11L21tdS5jIGIvYXJjaC94ODYva3ZtL21tdS9tbXUu YwppbmRleCAxYWU4MjNlYmQxMmIuLjA0MjI4YTdkYTY5YSAxMDA2NDQKLS0tIGEvYXJjaC94ODYv a3ZtL21tdS9tbXUuYworKysgYi9hcmNoL3g4Ni9rdm0vbW11L21tdS5jCkBAIC01NDIsMTAgKzU0 Miw4IEBAIHN0YXRpYyBib29sIG1tdV9zcHRlX3VwZGF0ZSh1NjQgKnNwdGVwLCB1NjQgbmV3X3Nw dGUpCiAJICogdG8gZ3VhcmFudGVlIGNvbnNpc3RlbmN5IGJldHdlZW4gVExCIGFuZCBwYWdlIHRh Ymxlcy4KIAkgKi8KIAotCWlmIChpc19hY2Nlc3NlZF9zcHRlKG9sZF9zcHRlKSAmJiAhaXNfYWNj ZXNzZWRfc3B0ZShuZXdfc3B0ZSkpIHsKKwlpZiAoaXNfYWNjZXNzZWRfc3B0ZShvbGRfc3B0ZSkg JiYgIWlzX2FjY2Vzc2VkX3NwdGUobmV3X3NwdGUpKQogCQlmbHVzaCA9IHRydWU7Ci0JCWt2bV9z ZXRfcGZuX2FjY2Vzc2VkKHNwdGVfdG9fcGZuKG9sZF9zcHRlKSk7Ci0JfQogCiAJaWYgKGlzX2Rp cnR5X3NwdGUob2xkX3NwdGUpICYmICFpc19kaXJ0eV9zcHRlKG5ld19zcHRlKSkKIAkJZmx1c2gg PSB0cnVlOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva3ZtL21tdS90ZHBfbW11LmMgYi9hcmNoL3g4 Ni9rdm0vbW11L3RkcF9tbXUuYwppbmRleCA1MTdiMzg0NDczYzEuLjhhYTBkN2E3NjAyYiAxMDA2 NDQKLS0tIGEvYXJjaC94ODYva3ZtL21tdS90ZHBfbW11LmMKKysrIGIvYXJjaC94ODYva3ZtL21t dS90ZHBfbW11LmMKQEAgLTUyMCwxMCArNTIwLDYgQEAgc3RhdGljIHZvaWQgaGFuZGxlX2NoYW5n ZWRfc3B0ZShzdHJ1Y3Qga3ZtICprdm0sIGludCBhc19pZCwgZ2ZuX3QgZ2ZuLAogCWlmICh3YXNf cHJlc2VudCAmJiAhd2FzX2xlYWYgJiYKIAkgICAgKGlzX2xlYWYgfHwgIWlzX3ByZXNlbnQgfHwg V0FSTl9PTl9PTkNFKHBmbl9jaGFuZ2VkKSkpCiAJCWhhbmRsZV9yZW1vdmVkX3B0KGt2bSwgc3B0 ZV90b19jaGlsZF9wdChvbGRfc3B0ZSwgbGV2ZWwpLCBzaGFyZWQpOwotCi0JaWYgKHdhc19sZWFm ICYmIGlzX2FjY2Vzc2VkX3NwdGUob2xkX3NwdGUpICYmCi0JICAgICghaXNfcHJlc2VudCB8fCAh aXNfYWNjZXNzZWRfc3B0ZShuZXdfc3B0ZSkgfHwgcGZuX2NoYW5nZWQpKQotCQlrdm1fc2V0X3Bm bl9hY2Nlc3NlZChzcHRlX3RvX3BmbihvbGRfc3B0ZSkpOwogfQogCiBzdGF0aWMgaW5saW5lIGlu dCBfX211c3RfY2hlY2sgX190ZHBfbW11X3NldF9zcHRlX2F0b21pYyhzdHJ1Y3QgdGRwX2l0ZXIg Kml0ZXIsCkBAIC04NjUsNiArODYxLDkgQEAgc3RhdGljIGJvb2wgdGRwX21tdV96YXBfbGVhZnMo c3RydWN0IGt2bSAqa3ZtLCBzdHJ1Y3Qga3ZtX21tdV9wYWdlICpyb290LAogCiAJCXRkcF9tbXVf aXRlcl9zZXRfc3B0ZShrdm0sICZpdGVyLCBTSEFET1dfTk9OUFJFU0VOVF9WQUxVRSk7CiAKKwkJ aWYgKGlzX2FjY2Vzc2VkX3NwdGUoaXRlci5vbGRfc3B0ZSkpCisJCQlrdm1fc2V0X3Bmbl9hY2Nl c3NlZChzcHRlX3RvX3BmbihpdGVyLm9sZF9zcHRlKSk7CisKIAkJLyoKIAkJICogWmFwcGluZ3Mg U1BURXMgaW4gaW52YWxpZCByb290cyBkb2Vzbid0IHJlcXVpcmUgYSBUTEIgZmx1c2gsCiAJCSAq IHNlZSBrdm1fdGRwX21tdV96YXBfaW52YWxpZGF0ZWRfcm9vdHMoKSBmb3IgZGV0YWlscy4KLS0g CjIuNDcuMC5yYzEuMjg4LmcwNjI5OGQxNTI1LWdvb2cKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1yaXNjdiBtYWlsaW5nIGxpc3QKbGludXgt cmlzY3ZAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWls bWFuL2xpc3RpbmZvL2xpbnV4LXJpc2N2Cg==