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 2CDF2E7719A for ; Mon, 13 Jan 2025 03:46:06 +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:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=PB21KvC7EsvAD7cfSgWZD6A5aOBX06iEw4yOP8PRl2Q=; b=BSgO4nlyPDYVwf UcUjY9xMyj/3pJ8orLGjXqcCVguwVdmkEcYPSEkG9B5JgApJMaJyE8grgwAUZL0AFhV0UxUWOOjm3 R0PxgCbom9RE7HETZiMpulv6IDXlN8d2hh24WhjFWYirv8bJ2ScrIUUtCzkhkKu8ebsDQk+KGkIdl Htby4zl64URmUG0EWjt81ThNPsvkkqpUZ9eFUKiWEEhmvj1H0Lgi/1COwS4AE1INr7Sop1q/8Wyy5 H0tvZRUXnRhEpEz1qsjE9A+bz1ysWh8aPqGWqBbm+Ck9jFW8d6nSLpnf1N78Do7vWH7sMLGYsRbdY zv16b+F0Ln9hhqVHRizA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tXBOq-00000003wBn-1F79; Mon, 13 Jan 2025 03:46:00 +0000 Received: from mail-pl1-x629.google.com ([2607:f8b0:4864:20::629]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tXBIv-00000003vFv-0ipe; Mon, 13 Jan 2025 03:39:54 +0000 Received: by mail-pl1-x629.google.com with SMTP id d9443c01a7336-21669fd5c7cso66199665ad.3; Sun, 12 Jan 2025 19:39:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1736739592; x=1737344392; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=t1XMRg54nQSp8/EH5otPlOs5Y//8NM069hYIc60Rxo8=; b=DPK5OnIvLXkdS5o3EP2JJk8J3jr5cgfl6b6bP5pL0jHmHK4fgcbfbKVyqWRFuVicgv fS71by+jEn73bAsIJPsPPeDyEwCKHBywsUcHDjhvkkGBv7Cyumeu30QbqDA+K3BE9ofM CiTmQRZe1wdkILrqxijFDJvCl0ljIhAk4dQKUhxwA/2Lwc4DWwZDkAeICKLE2mSDrLot hps9gN4aZZlTF4KwSV5pYJ4yaBgyIjxtdIici+VFby/Wlny+tTnGXokaAZPm7Q5QSZw9 hTfEzjpyGNbdvkCgm5BMF/fHQCfvQ4JQcVSmv/wDjT8APYAfO+esnflwJU6pf19b+Flc 7YVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736739592; x=1737344392; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=t1XMRg54nQSp8/EH5otPlOs5Y//8NM069hYIc60Rxo8=; b=mSvYdtZOjv6i30aVpqMGh/h45R4xnYTieN2taMOhlOl4rWXAxl9ul70jPWryi07xZW /qQip0qpYPNYP58t4Bkc/L4TNv5l+KYmbTLYNIZQRpTqKvpYbnl0WhPCjjpssACSn2LT 73NzdFqGHkjnHSB5tW8BYx6KzalW7Oz1SZ//gNDl3ehJRzzhl1ZThyyrVQ38oNy80Srs QOQdh7wh03jPncojHrnZb4pWJoG40k5kMGGfz+AMC73//IJ9P4SYYGtEUzfCOq/WiQGr CziryRYChYi0r0ZBSU8uqkFMnwFCSTA/3WnxGv4oRMXRbBbtXhpvlR4kL7kHVkGIXeJg cd2g== X-Forwarded-Encrypted: i=1; AJvYcCVjphbZuLEsP5Sz/WMujIhpseahVj4FwtPlPhizWOZGnaeIULZz/zWViSlRXRzwGic4mDy/DBEM2WwbpNTboNiF@lists.infradead.org, AJvYcCWq4N+cFnPOeOiH4VCyzU0V9iQCPbz6VNWjP0ljC8YwHfHO+r48w2uX4OSOQ4ZlBkmRS86AVrTpjS8ZD3o=@lists.infradead.org X-Gm-Message-State: AOJu0Yx/vxI/TAXrwilnsmBb6EjRQznFidHpvGZAaZBw0uDCB8+XDgZ5 QBVO1gZ781QQdt49QEigERwZ+DvPLg/g+K1K28JeJCVHHll+sjCD X-Gm-Gg: ASbGncs6vkdk0M2LNYQWglTvS4YmRmeHgPgoq2qqqZhW4TXUBt5V0MUYuDnkC55MYxJ YiYUwrMY1I73+rYls3ho5IpMvE/3fhbmdl+IfUHmKUvIB0ZNuotNIbuHRsx5M+yxm9isS077lWN 4/hXwlQ9KXM0hK5O5HrqaWT3u4pIXpR0l9vOm5jJ6kpix6LzWf+OMFbhq0X/ojb7Rr3jyj8kJoG LiFlzFKWYbWVMBSB2a1dOlMT0r3aefrcEEX90OQmtn7/CC/QdbCvKpCr5zAtSmh2X943a5VMNLf 7TVMfZEl X-Google-Smtp-Source: AGHT+IFvTUatRCa49/9Qoa3okmsFGYsqNW658p8oE5OURLMqB1h00MlvT5OAmq5hWQRPMmGvVdLulw== X-Received: by 2002:a17:902:cec3:b0:216:6fb5:fd83 with SMTP id d9443c01a7336-21a83f69d84mr299035325ad.29.1736739592302; Sun, 12 Jan 2025 19:39:52 -0800 (PST) Received: from Barrys-MBP.hub ([2407:7000:af65:8200:39b5:3f0b:acf3:9158]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21a9f25aabfsm44368405ad.246.2025.01.12.19.39.46 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 12 Jan 2025 19:39:51 -0800 (PST) From: Barry Song <21cnbao@gmail.com> To: akpm@linux-foundation.org, linux-mm@kvack.org Cc: baolin.wang@linux.alibaba.com, chrisl@kernel.org, david@redhat.com, ioworker0@gmail.com, kasong@tencent.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, ryan.roberts@arm.com, v-songbaohua@oppo.com, x86@kernel.org, linux-riscv@lists.infradead.org, ying.huang@intel.com, zhengtangquan@oppo.com, lorenzo.stoakes@oracle.com Subject: [PATCH v2 4/4] mm: Avoid splitting pmd for lazyfree pmd-mapped THP in try_to_unmap Date: Mon, 13 Jan 2025 16:39:01 +1300 Message-Id: <20250113033901.68951-5-21cnbao@gmail.com> X-Mailer: git-send-email 2.39.3 (Apple Git-146) In-Reply-To: <20250113033901.68951-1-21cnbao@gmail.com> References: <20250113033901.68951-1-21cnbao@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250112_193953_214905_A6D159BF X-CRM114-Status: GOOD ( 15.01 ) 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: , 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 RnJvbTogQmFycnkgU29uZyA8di1zb25nYmFvaHVhQG9wcG8uY29tPgoKVGhlIHRyeV90b191bm1h cF9vbmUoKSBmdW5jdGlvbiBjdXJyZW50bHkgaGFuZGxlcyBQTUQtbWFwcGVkIFRIUHMKaW5lZmZp Y2llbnRseS4gSXQgZmlyc3Qgc3BsaXRzIHRoZSBQTUQgaW50byBQVEVzLCBjb3BpZXMgdGhlIGRp cnR5CnN0YXRlIGZyb20gdGhlIFBNRCB0byB0aGUgUFRFcywgaXRlcmF0ZXMgb3ZlciB0aGUgUFRF cyB0byBsb2NhdGUKdGhlIGRpcnR5IHN0YXRlLCBhbmQgdGhlbiBtYXJrcyB0aGUgVEhQIGFzIHN3 YXAtYmFja2VkLiBUaGlzIHByb2Nlc3MKaW52b2x2ZXMgdW5uZWNlc3NhcnkgUE1EIHNwbGl0dGlu ZyBhbmQgcmVkdW5kYW50IGl0ZXJhdGlvbi4gSW5zdGVhZCwKdGhpcyBmdW5jdGlvbmFsaXR5IGNh biBiZSBlZmZpY2llbnRseSBtYW5hZ2VkIGluCl9fZGlzY2FyZF9hbm9uX2ZvbGlvX3BtZF9sb2Nr ZWQoKSwgYXZvaWRpbmcgdGhlIGV4dHJhIHN0ZXBzIGFuZAppbXByb3ZpbmcgcGVyZm9ybWFuY2Uu CgpUaGUgZm9sbG93aW5nIG1pY3JvYmVuY2htYXJrIHJlZGlydGllcyBmb2xpb3MgYWZ0ZXIgaW52 b2tpbmcgTUFEVl9GUkVFLAp0aGVuIG1lYXN1cmVzIHRoZSB0aW1lIHRha2VuIHRvIHBlcmZvcm0g bWVtb3J5IHJlY2xhbWF0aW9uIChhY3R1YWxseQpzZXQgdGhvc2UgZm9saW9zIHN3YXBiYWNrZWQg YWdhaW4pIG9uIHRoZSByZWRpcnRpZWQgZm9saW9zLgoKICNpbmNsdWRlIDxzdGRpby5oPgogI2lu Y2x1ZGUgPHN5cy9tbWFuLmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVkZSA8dGltZS5o PgoKICNkZWZpbmUgU0laRSAxMjgqMTAyNCoxMDI0ICAvLyAxMjggTUIKCiBpbnQgbWFpbihpbnQg YXJnYywgY2hhciAqYXJndltdKQogewogCXdoaWxlKDEpIHsKIAkJdm9sYXRpbGUgaW50ICpwID0g bW1hcCgwLCBTSVpFLCBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFLAogCQkJCU1BUF9QUklWQVRFIHwg TUFQX0FOT05ZTU9VUywgLTEsIDApOwoKIAkJbWVtc2V0KCh2b2lkICopcCwgMSwgU0laRSk7CiAJ CW1hZHZpc2UoKHZvaWQgKilwLCBTSVpFLCBNQURWX0ZSRUUpOwogCQkvKiByZWRpcnR5IGFmdGVy IE1BRFZfRlJFRSAqLwogCQltZW1zZXQoKHZvaWQgKilwLCAxLCBTSVpFKTsKCgkJY2xvY2tfdCBz dGFydF90aW1lID0gY2xvY2soKTsKIAkJbWFkdmlzZSgodm9pZCAqKXAsIFNJWkUsIE1BRFZfUEFH RU9VVCk7CiAJCWNsb2NrX3QgZW5kX3RpbWUgPSBjbG9jaygpOwoKIAkJZG91YmxlIGVsYXBzZWRf dGltZSA9IChkb3VibGUpKGVuZF90aW1lIC0gc3RhcnRfdGltZSkgLyBDTE9DS1NfUEVSX1NFQzsK IAkJcHJpbnRmKCJUaW1lIHRha2VuIGJ5IHJlY2xhbWF0aW9uOiAlZiBzZWNvbmRzXG4iLCBlbGFw c2VkX3RpbWUpOwoKIAkJbXVubWFwKCh2b2lkICopcCwgU0laRSk7CiAJfQogCXJldHVybiAwOwog fQoKVGVzdGluZyByZXN1bHRzIGFyZSBhcyBiZWxvdywKdy9vIHBhdGNoOgp+ICMgLi9hLm91dApU aW1lIHRha2VuIGJ5IHJlY2xhbWF0aW9uOiAwLjAwNzMwMCBzZWNvbmRzClRpbWUgdGFrZW4gYnkg cmVjbGFtYXRpb246IDAuMDA3MjI2IHNlY29uZHMKVGltZSB0YWtlbiBieSByZWNsYW1hdGlvbjog MC4wMDcyOTUgc2Vjb25kcwpUaW1lIHRha2VuIGJ5IHJlY2xhbWF0aW9uOiAwLjAwNzczMSBzZWNv bmRzClRpbWUgdGFrZW4gYnkgcmVjbGFtYXRpb246IDAuMDA3MTM0IHNlY29uZHMKVGltZSB0YWtl biBieSByZWNsYW1hdGlvbjogMC4wMDcyODUgc2Vjb25kcwpUaW1lIHRha2VuIGJ5IHJlY2xhbWF0 aW9uOiAwLjAwNzcyMCBzZWNvbmRzClRpbWUgdGFrZW4gYnkgcmVjbGFtYXRpb246IDAuMDA3MTI4 IHNlY29uZHMKVGltZSB0YWtlbiBieSByZWNsYW1hdGlvbjogMC4wMDc3MTAgc2Vjb25kcwpUaW1l IHRha2VuIGJ5IHJlY2xhbWF0aW9uOiAwLjAwNzcxMiBzZWNvbmRzClRpbWUgdGFrZW4gYnkgcmVj bGFtYXRpb246IDAuMDA3MjM2IHNlY29uZHMKVGltZSB0YWtlbiBieSByZWNsYW1hdGlvbjogMC4w MDc2OTAgc2Vjb25kcwpUaW1lIHRha2VuIGJ5IHJlY2xhbWF0aW9uOiAwLjAwNzE3NCBzZWNvbmRz ClRpbWUgdGFrZW4gYnkgcmVjbGFtYXRpb246IDAuMDA3NjcwIHNlY29uZHMKVGltZSB0YWtlbiBi eSByZWNsYW1hdGlvbjogMC4wMDcxNjkgc2Vjb25kcwpUaW1lIHRha2VuIGJ5IHJlY2xhbWF0aW9u OiAwLjAwNzMwNSBzZWNvbmRzClRpbWUgdGFrZW4gYnkgcmVjbGFtYXRpb246IDAuMDA3NDMyIHNl Y29uZHMKVGltZSB0YWtlbiBieSByZWNsYW1hdGlvbjogMC4wMDcxNTggc2Vjb25kcwpUaW1lIHRh a2VuIGJ5IHJlY2xhbWF0aW9uOiAwLjAwNzEzMyBzZWNvbmRzCuKApgoKdy8gcGF0Y2gKCn4gIyAu L2Eub3V0ClRpbWUgdGFrZW4gYnkgcmVjbGFtYXRpb246IDAuMDAyMTI0IHNlY29uZHMKVGltZSB0 YWtlbiBieSByZWNsYW1hdGlvbjogMC4wMDIxMTYgc2Vjb25kcwpUaW1lIHRha2VuIGJ5IHJlY2xh bWF0aW9uOiAwLjAwMjE1MCBzZWNvbmRzClRpbWUgdGFrZW4gYnkgcmVjbGFtYXRpb246IDAuMDAy MjYxIHNlY29uZHMKVGltZSB0YWtlbiBieSByZWNsYW1hdGlvbjogMC4wMDIxMzcgc2Vjb25kcwpU aW1lIHRha2VuIGJ5IHJlY2xhbWF0aW9uOiAwLjAwMjE3MyBzZWNvbmRzClRpbWUgdGFrZW4gYnkg cmVjbGFtYXRpb246IDAuMDAyMDYzIHNlY29uZHMKVGltZSB0YWtlbiBieSByZWNsYW1hdGlvbjog MC4wMDIwODggc2Vjb25kcwpUaW1lIHRha2VuIGJ5IHJlY2xhbWF0aW9uOiAwLjAwMjE2OSBzZWNv bmRzClRpbWUgdGFrZW4gYnkgcmVjbGFtYXRpb246IDAuMDAyMTI0IHNlY29uZHMKVGltZSB0YWtl biBieSByZWNsYW1hdGlvbjogMC4wMDIxMTEgc2Vjb25kcwpUaW1lIHRha2VuIGJ5IHJlY2xhbWF0 aW9uOiAwLjAwMjIyNCBzZWNvbmRzClRpbWUgdGFrZW4gYnkgcmVjbGFtYXRpb246IDAuMDAyMjk3 IHNlY29uZHMKVGltZSB0YWtlbiBieSByZWNsYW1hdGlvbjogMC4wMDIyNjAgc2Vjb25kcwpUaW1l IHRha2VuIGJ5IHJlY2xhbWF0aW9uOiAwLjAwMjI0NiBzZWNvbmRzClRpbWUgdGFrZW4gYnkgcmVj bGFtYXRpb246IDAuMDAyMjcyIHNlY29uZHMKVGltZSB0YWtlbiBieSByZWNsYW1hdGlvbjogMC4w MDIyNzcgc2Vjb25kcwpUaW1lIHRha2VuIGJ5IHJlY2xhbWF0aW9uOiAwLjAwMjQ2MiBzZWNvbmRz CuKApgoKVGhpcyBwYXRjaCBzaWduaWZpY2FudGx5IHNwZWVkcyB1cCB0cnlfdG9fdW5tYXBfb25l KCkgYnkgYWxsb3dpbmcgaXQKdG8gc2tpcCByZWRpcnRpZWQgVEhQcyB3aXRob3V0IHNwbGl0dGlu ZyB0aGUgUE1ELgoKU3VnZ2VzdGVkLWJ5OiBCYW9saW4gV2FuZyA8YmFvbGluLndhbmdAbGludXgu YWxpYmFiYS5jb20+ClN1Z2dlc3RlZC1ieTogTGFuY2UgWWFuZyA8aW93b3JrZXIwQGdtYWlsLmNv bT4KU2lnbmVkLW9mZi1ieTogQmFycnkgU29uZyA8di1zb25nYmFvaHVhQG9wcG8uY29tPgotLS0K IG1tL2h1Z2VfbWVtb3J5LmMgfCAxNyArKysrKysrKysrKysrKy0tLQogbW0vcm1hcC5jICAgICAg ICB8IDExICsrKysrKysrKystCiAyIGZpbGVzIGNoYW5nZWQsIDI0IGluc2VydGlvbnMoKyksIDQg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbW0vaHVnZV9tZW1vcnkuYyBiL21tL2h1Z2VfbWVt b3J5LmMKaW5kZXggM2QzZWJkYzAwMmQ1Li5hZWE0OWY3MTI1ZjEgMTAwNjQ0Ci0tLSBhL21tL2h1 Z2VfbWVtb3J5LmMKKysrIGIvbW0vaHVnZV9tZW1vcnkuYwpAQCAtMzA3MCw4ICszMDcwLDEyIEBA IHN0YXRpYyBib29sIF9fZGlzY2FyZF9hbm9uX2ZvbGlvX3BtZF9sb2NrZWQoc3RydWN0IHZtX2Fy ZWFfc3RydWN0ICp2bWEsCiAJaW50IHJlZl9jb3VudCwgbWFwX2NvdW50OwogCXBtZF90IG9yaWdf cG1kID0gKnBtZHA7CiAKLQlpZiAoZm9saW9fdGVzdF9kaXJ0eShmb2xpbykgfHwgcG1kX2RpcnR5 KG9yaWdfcG1kKSkKKwlpZiAocG1kX2RpcnR5KG9yaWdfcG1kKSkKKwkJZm9saW9fc2V0X2RpcnR5 KGZvbGlvKTsKKwlpZiAoZm9saW9fdGVzdF9kaXJ0eShmb2xpbykgJiYgISh2bWEtPnZtX2ZsYWdz ICYgVk1fRFJPUFBBQkxFKSkgeworCQlmb2xpb19zZXRfc3dhcGJhY2tlZChmb2xpbyk7CiAJCXJl dHVybiBmYWxzZTsKKwl9CiAKIAlvcmlnX3BtZCA9IHBtZHBfaHVnZV9jbGVhcl9mbHVzaCh2bWEs IGFkZHIsIHBtZHApOwogCkBAIC0zMDk4LDggKzMxMDIsMTUgQEAgc3RhdGljIGJvb2wgX19kaXNj YXJkX2Fub25fZm9saW9fcG1kX2xvY2tlZChzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwKIAkg KgogCSAqIFRoZSBvbmx5IGZvbGlvIHJlZnMgbXVzdCBiZSBvbmUgZnJvbSBpc29sYXRpb24gcGx1 cyB0aGUgcm1hcChzKS4KIAkgKi8KLQlpZiAoZm9saW9fdGVzdF9kaXJ0eShmb2xpbykgfHwgcG1k X2RpcnR5KG9yaWdfcG1kKSB8fAotCSAgICByZWZfY291bnQgIT0gbWFwX2NvdW50ICsgMSkgewor CWlmIChwbWRfZGlydHkob3JpZ19wbWQpKQorCQlmb2xpb19zZXRfZGlydHkoZm9saW8pOworCWlm IChmb2xpb190ZXN0X2RpcnR5KGZvbGlvKSAmJiAhKHZtYS0+dm1fZmxhZ3MgJiBWTV9EUk9QUEFC TEUpKSB7CisJCWZvbGlvX3NldF9zd2FwYmFja2VkKGZvbGlvKTsKKwkJc2V0X3BtZF9hdChtbSwg YWRkciwgcG1kcCwgb3JpZ19wbWQpOworCQlyZXR1cm4gZmFsc2U7CisJfQorCisJaWYgKHJlZl9j b3VudCAhPSBtYXBfY291bnQgKyAxKSB7CiAJCXNldF9wbWRfYXQobW0sIGFkZHIsIHBtZHAsIG9y aWdfcG1kKTsKIAkJcmV0dXJuIGZhbHNlOwogCX0KZGlmZiAtLWdpdCBhL21tL3JtYXAuYyBiL21t L3JtYXAuYwppbmRleCAzZWY2NTkzMTA3OTcuLjAyYzRlNGIyY2Q3YiAxMDA2NDQKLS0tIGEvbW0v cm1hcC5jCisrKyBiL21tL3JtYXAuYwpAQCAtMTY3MSw3ICsxNjcxLDcgQEAgc3RhdGljIGJvb2wg dHJ5X3RvX3VubWFwX29uZShzdHJ1Y3QgZm9saW8gKmZvbGlvLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1 Y3QgKnZtYSwKIAlERUZJTkVfRk9MSU9fVk1BX1dBTEsocHZtdywgZm9saW8sIHZtYSwgYWRkcmVz cywgMCk7CiAJcHRlX3QgcHRldmFsOwogCXN0cnVjdCBwYWdlICpzdWJwYWdlOwotCWJvb2wgYW5v bl9leGNsdXNpdmUsIHJldCA9IHRydWU7CisJYm9vbCBhbm9uX2V4Y2x1c2l2ZSwgbGF6eWZyZWUs IHJldCA9IHRydWU7CiAJc3RydWN0IG1tdV9ub3RpZmllcl9yYW5nZSByYW5nZTsKIAllbnVtIHR0 dV9mbGFncyBmbGFncyA9IChlbnVtIHR0dV9mbGFncykobG9uZylhcmc7CiAJaW50IG5yX3BhZ2Vz ID0gMTsKQEAgLTE3MjQsOSArMTcyNCwxOCBAQCBzdGF0aWMgYm9vbCB0cnlfdG9fdW5tYXBfb25l KHN0cnVjdCBmb2xpbyAqZm9saW8sIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLAogCQl9CiAK IAkJaWYgKCFwdm13LnB0ZSkgeworCQkJbGF6eWZyZWUgPSBmb2xpb190ZXN0X2Fub24oZm9saW8p ICYmICFmb2xpb190ZXN0X3N3YXBiYWNrZWQoZm9saW8pOworCiAJCQlpZiAodW5tYXBfaHVnZV9w bWRfbG9ja2VkKHZtYSwgcHZtdy5hZGRyZXNzLCBwdm13LnBtZCwKIAkJCQkJCSAgZm9saW8pKQog CQkJCWdvdG8gd2Fsa19kb25lOworCQkJLyoKKwkJCSAqIHVubWFwX2h1Z2VfcG1kX2xvY2tlZCBo YXMgZWl0aGVyIGFscmVhZHkgbWFya2VkCisJCQkgKiB0aGUgZm9saW8gYXMgc3dhcC1iYWNrZWQg b3IgZGVjaWRlZCB0byByZXRhaW4gaXQKKwkJCSAqIGR1ZSB0byBHVVAgb3Igc3BlY3VsYXRpdmUg cmVmZXJlbmNlcy4KKwkJCSAqLworCQkJaWYgKGxhenlmcmVlKQorCQkJCWdvdG8gd2Fsa19hYm9y dDsKIAogCQkJaWYgKGZsYWdzICYgVFRVX1NQTElUX0hVR0VfUE1EKSB7CiAJCQkJLyoKLS0gCjIu MzkuMyAoQXBwbGUgR2l0LTE0NikKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpsaW51eC1yaXNjdiBtYWlsaW5nIGxpc3QKbGludXgtcmlzY3ZAbGlzdHMu aW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2xpbnV4LXJpc2N2Cg==