Received: by 2002:ab2:2994:0:b0:1ef:ca3e:3cd5 with SMTP id n20csp608264lqb; Fri, 15 Mar 2024 00:42:18 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCUdxI4HNTh7L+/ZxPhcOu67v39xYL6Qpfj/Fp2XQORH2rTMNMBjNgMO6+hDyovZZwnzvg6Kf9+xK2dc4Di1BiQQv+l906j22vpYOWgfwg== X-Google-Smtp-Source: AGHT+IGAW1UN4Hw+W0sZiUFJKB+pyVWnFUWUkbrxLdhxRQ/ZvrQ8chDu7DXRkJv+9atY5BcU9+Bh X-Received: by 2002:a17:90b:228a:b0:29c:5fb1:b351 with SMTP id kx10-20020a17090b228a00b0029c5fb1b351mr3784261pjb.7.1710488538570; Fri, 15 Mar 2024 00:42:18 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1710488538; cv=pass; d=google.com; s=arc-20160816; b=fxZKcH4t5cBCpOaLzLxK0L2CcjdaSudJ/k8l1BX9yvSVfAXyiBU+y/zk85SCrSEBJi k+yWcJ6dwe1DVd2F4TXks0HSTDwtbFb7QNuZHHnrh5PHb157qgZmXO+GfBj50Ifp5eHn hMVEEcvQ+Awbqj/aXIZCm9YIvSMp12pDXpaj3fCbOqLZk+G6cpwPCOz2ES0NQ1DJq/LP lfYjcGmi6lL0gtM/r11Fqx+l1p14S1voZ1T0E6Px5QOJpPbYiRzHH4QPWloBt+sqa+MS NFvFjLb3XFzvE6X3nBblWRIkv/twZq7QPu2FJAnX/ujhdkCIurSrE0S6CQGaJIdBpjrk Zw3w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :content-transfer-encoding:content-language:accept-language :in-reply-to:references:message-id:date:thread-index:thread-topic :subject:cc:to:from; bh=pUShuejhJicdxU5bYPaGs3d04Yvt05w78zdLWyB13IA=; fh=2qMCvDYiM6I0K1qGClT5zFnqvH8SdUExPTP0T4/JUXQ=; b=REr1JXKDyHv+kOcYH+NgAxQsgDdbsVczURZjT2saBGEGf4DJDp86asJdaf4e3o6gAQ cgjgyUCWVmF148NUra964VumjZFEvn19Q06fNJ7RgmwE9hvQmNKxzAzuMCD6i4uDxDpY ajQWg2ThOBdIxKauNWCUabDkT9K8oArcIZjlnuVO9bXDxyv5+Sm+jERtDYta1qnI7vmF p7DtSU+ekcDu/GuXqxgLI/d7P5qclOGHj3uihdaQd/VsPB/CwqIxtuV3tgBjnuavQjT8 yyL8qpFpib7AvB31vumDCjrS2RBnGZ3PbQEdzviqVcurwTD5TLW62A709oZy5dwOREPP CSNQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1 spf=pass spfdomain=unisoc.com); spf=pass (google.com: domain of linux-kernel+bounces-104124-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-104124-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [2604:1380:40f1:3f00::1]) by mx.google.com with ESMTPS id y4-20020a17090abd0400b0029ba3a7ab05si2228732pjr.80.2024.03.15.00.42.18 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 Mar 2024 00:42:18 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-104124-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) client-ip=2604:1380:40f1:3f00::1; Authentication-Results: mx.google.com; arc=pass (i=1 spf=pass spfdomain=unisoc.com); spf=pass (google.com: domain of linux-kernel+bounces-104124-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-104124-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id 6CC74B216BA for ; Fri, 15 Mar 2024 07:42:12 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id E981C14286; Fri, 15 Mar 2024 07:42:05 +0000 (UTC) Received: from SHSQR01.spreadtrum.com (unknown [222.66.158.135]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DE51013FE7 for ; Fri, 15 Mar 2024 07:41:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=222.66.158.135 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710488525; cv=none; b=CZMfwJvMgxTRoulxHRWqYYdfH/Fd6cxVi7k3v9OJ2vR/f5IvWBeOhxtu2EyGQqCj0XWBvYZhAVtHrynnqQbU4vq/DNTuA5deCDo1zREQYRdVOSDXpeiHg7dUmrJwLX46BPV3826xZGIdv+pGU7N6PMgxD9YtPfnAZcp0b/ZDxQk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710488525; c=relaxed/simple; bh=pUShuejhJicdxU5bYPaGs3d04Yvt05w78zdLWyB13IA=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=qgYTssk3gi8u6534XM1Oa1bnKMeK51n3dE54/0DT425lPT6KAkcYcb0t1f3OBAYBP35Bu0uqFfzlVFkKfQWMru6eg9T3OeccQ0vOJqqjbCaiYCdjeX4aUsD/cetmXRzCdFJ1v5q1/SqEPX1FRK32pr83kOst7RvZuW/f95wiLvU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=unisoc.com; spf=pass smtp.mailfrom=unisoc.com; arc=none smtp.client-ip=222.66.158.135 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=unisoc.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=unisoc.com Received: from dlp.unisoc.com ([10.29.3.86]) by SHSQR01.spreadtrum.com with ESMTP id 42F7fgY5000390; Fri, 15 Mar 2024 15:41:42 +0800 (+08) (envelope-from zhaoyang.huang@unisoc.com) Received: from SHDLP.spreadtrum.com (bjmbx02.spreadtrum.com [10.0.64.8]) by dlp.unisoc.com (SkyGuard) with ESMTPS id 4Twx462Y8Vz2L6W18; Fri, 15 Mar 2024 15:40:22 +0800 (CST) Received: from BJMBX01.spreadtrum.com (10.0.64.7) by BJMBX02.spreadtrum.com (10.0.64.8) with Microsoft SMTP Server (TLS) id 15.0.1497.23; Fri, 15 Mar 2024 15:41:40 +0800 Received: from BJMBX01.spreadtrum.com ([fe80::54e:9a:129d:fac7]) by BJMBX01.spreadtrum.com ([fe80::54e:9a:129d:fac7%16]) with mapi id 15.00.1497.023; Fri, 15 Mar 2024 15:41:40 +0800 From: =?utf-8?B?6buE5pyd6ZizIChaaGFveWFuZyBIdWFuZyk=?= To: Yu Zhao , "liuhailong@oppo.com" CC: "akpm@linux-foundation.org" , "nathan@kernel.org" , "ndesaulniers@google.com" , "trix@redhat.com" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , "llvm@lists.linux.dev" , "surenb@google.com" , "Charan Teja Kalla" , =?utf-8?B?5bq357qq5ruoIChTdGV2ZSBLYW5nKQ==?= Subject: reply: [PATCH] Revert "mm: skip CMA pages when they are not available" Thread-Topic: reply: [PATCH] Revert "mm: skip CMA pages when they are not available" Thread-Index: AQHadqw3sVlAcXr2r0+8CjaNX3IUeA== Date: Fri, 15 Mar 2024 07:41:39 +0000 Message-ID: <1710488498897.75752@unisoc.com> References: <20240314141516.31747-1-liuhailong@oppo.com>, In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MAIL:SHSQR01.spreadtrum.com 42F7fgY5000390 CgpPbiBUaHUsIE1hciAxNCwgMjAyNCBhdCAxMDoxNeKAr0FNIDxsaXVoYWlsb25nQG9wcG8uY29t PiB3cm90ZToKPgo+IEZyb206ICJIYWlsb25nLkxpdSIgPGxpdWhhaWxvbmdAb3Bwby5jb20+Cj4K PiBUaGlzIHJldmVydHMgY29tbWl0IDVkYTIyNmRiZmNlM2EyZjQ0OTc4YzJjN2NmODgxNjZlNjlh Njc4OGIuCj4KPiBwYXRjaCBtYXkgY2F1c2Ugc3lzdGVtIG5vdCByZXNwb25kaW5nLiBpZiBjbWEg cGFnZXMgaXMgbGFyZ2UgaW4gbHJ1X2xpc3QKPiBhbmQgc3lzdGVtIGlzIGluIGxvd21lbW9yeSwg bWFueSB0YXNrcyB3b3VsZCBlbnRlciBkaXJlY3QgcmVjbGFpbSBhbmQgd2FzdGUKPiBjcHUgdGlt ZSB0byBpc29sYXRlIGFuZCByZXR1cm4uIFRlc3QgdGhpcyBwYXRjaCBvbiBhbmRyb2lkLTUuMTUg ZGV2aWNlCj4gYW5kIHRhc2tzIGNhbGwgc3RhY2sgYXMgYmVsb3cuCj4KPiBUYXNrIG5hbWU6IFVz YkZmcy13b3JrZXIgW2FmZmluaXR5OiAweGZmXSBwaWQ6IDMzNzQgY3B1OiA3IHByaW86IDEyMCBz dGFydDogZmZmZmZmODg5N2EzNWM4MAo+IHN0YXRlOiAweDBbUl0gZXhpdF9zdGF0ZTogMHgwIHN0 YWNrIGJhc2U6IDB4ZmZmZmZmYzAxZWFhMDAwMAo+IExhc3RfZW5xdWV1ZWRfdHM6ICAgICAgIDAu MDAwMDAwMDAwIExhc3Rfc2xlZXBfdHM6ICAgICAgIDAuMDAwMDAwMDAwCj4gU3RhY2s6Cj4gWzxm ZmZmZmZkMzJlZTdkOTEwPl0gX19zd2l0Y2hfdG8rMHgxODAKPiBbPGZmZmZmZmQzMzAyMDIyZmM+ XSBfX3NjaGVkdWxlKzB4NGRjCj4gWzxmZmZmZmZkMzMwMjAxZTA4Pl0gcHJlZW1wdF9zY2hlZHVs ZSsweDVjCj4gWzxmZmZmZmZkMzMwMjBhNGQwPl0gX3Jhd19zcGluX3VubG9ja19pcnErMHg1NAo+ IFs8ZmZmZmZmZDMyZjE0OTA2Yz5dIHNocmlua19pbmFjdGl2ZV9saXN0KzB4MWQwCj4gWzxmZmZm ZmZkMzJmMTQzOTk4Pl0gc2hyaW5rX2xydXZlYysweDFiYwo+IFs8ZmZmZmZmZDMyZjE0N2MwYz5d IHNocmlua19ub2RlX21lbWNncysweDE4NAo+IFs8ZmZmZmZmZDMyZjE0NzQxND5dIHNocmlua19u b2RlKzB4MmQwCj4gWzxmZmZmZmZkMzJmMTQ2ZDM4Pl0gc2hyaW5rX3pvbmVzKzB4MTRjCj4gWzxm ZmZmZmZkMzJmMTQyZTg0Pl0gZG9fdHJ5X3RvX2ZyZWVfcGFnZXMrMHhlOAo+IFs8ZmZmZmZmZDMy ZjE0MmIwOD5dIHRyeV90b19mcmVlX3BhZ2VzKzB4MmUwCj4gWzxmZmZmZmZkMzJmMWE4ZTQ0Pl0g X19hbGxvY19wYWdlc19kaXJlY3RfcmVjbGFpbSsweDg0Cj4gWzxmZmZmZmZkMzJmMWEyZDU4Pl0g X19hbGxvY19wYWdlc19zbG93cGF0aCsweDRkMAo+IFs8ZmZmZmZmZDMyZjFhMjNiYz5dIF9fYWxs b2NfcGFnZXNfbm9kZW1hc2tbanRdKzB4MTI0Cj4gWzxmZmZmZmZkMzJmMTlhMjIwPl0gX192bWFs bG9jX2FyZWFfbm9kZSsweDE4OAo+IFs8ZmZmZmZmZDMyZjE5YTU0MD5dIF9fdm1hbGxvY19ub2Rl KzB4MTQ4Cj4gWzxmZmZmZmZkMzJmMTlhNjBjPl0gdm1hbGxvYysweDRjCj4gWzxmZmZmZmZkMzJm OTEwMjE4Pl0gZmZzX2VwZmlsZV9pbysweDI1OAo+IFs8ZmZmZmZmZDMzMDAzMzc4MD5dIGtyZXRw cm9iZV90cmFtcG9saW5lW2p0XSsweDAKPiBbPGZmZmZmZmQzMzAwMzM3ODA+XSBrcmV0cHJvYmVf dHJhbXBvbGluZVtqdF0rMHgwCj4gWzxmZmZmZmZkMzJmMjgxMjljPl0gX19pb19zdWJtaXRfb25l KzB4MWMwCj4gWzxmZmZmZmZkMzJmMjgwZTM4Pl0gaW9fc3VibWl0X29uZSsweDg4Cj4gWzxmZmZm ZmZkMzJmMjgwYzg4Pl0gX19kb19zeXNfaW9fc3VibWl0KzB4MTc4Cj4gWzxmZmZmZmZkMzJmMjdl YWMwPl0gX19hcm02NF9zeXNfaW9fc3VibWl0KzB4MjAKPiBbPGZmZmZmZmQzMmVlYWJiNzQ+XSBl bDBfc3ZjX2NvbW1vbi5sbHZtLjk5NjE3NDkyMjE5NDUyNTUzNzcrMHhkMAo+IFs8ZmZmZmZmZDMy ZWVhYmEzND5dIGRvX2VsMF9zdmMrMHgyOAo+IFs8ZmZmZmZmZDMyZmYyMWJlOD5dIGVsMF9zdmMr MHgxNAo+IFs8ZmZmZmZmZDMyZmYyMWI3MD5dIGVsMF9zeW5jX2hhbmRsZXIrMHg4OAo+IFs8ZmZm ZmZmZDMyZWUxMjhiOD5dIGVsMF9zeW5jKzB4MWI4Cj4KPiBUYXNrIG5hbWU6IGt0aHJlYWRkIFth ZmZpbml0eTogMHhmZl0gcGlkOiAyIGNwdTogNyBwcmlvOiAxMjAgc3RhcnQ6IGZmZmZmZjg3ODA4 YzAwMDAKPiBzdGF0ZTogMHgwW1JdIGV4aXRfc3RhdGU6IDB4MCBzdGFjayBiYXNlOiAweGZmZmZm ZmMwMDgwNzgwMDAKPiBMYXN0X2VucXVldWVkX3RzOiAgICAgICAwLjAwMDAwMDAwMCBMYXN0X3Ns ZWVwX3RzOiAgICAgICAwLjAwMDAwMDAwMAo+IFN0YWNrOgo+IFs8ZmZmZmZmZDMyZWU3ZDkxMD5d IF9fc3dpdGNoX3RvKzB4MTgwCj4gWzxmZmZmZmZkMzMwMjAyMmZjPl0gX19zY2hlZHVsZSsweDRk Ywo+IFs8ZmZmZmZmZDMzMDIwMWUwOD5dIHByZWVtcHRfc2NoZWR1bGUrMHg1Ywo+IFs8ZmZmZmZm ZDMzMDIwYTRkMD5dIF9yYXdfc3Bpbl91bmxvY2tfaXJxKzB4NTQKPiBbPGZmZmZmZmQzMmYxNDkx Njg+XSBzaHJpbmtfaW5hY3RpdmVfbGlzdCsweDJjYwo+IFs8ZmZmZmZmZDMyZjE0Mzk5OD5dIHNo cmlua19scnV2ZWMrMHgxYmMKPiBbPGZmZmZmZmQzMmYxNDdjMGM+XSBzaHJpbmtfbm9kZV9tZW1j Z3MrMHgxODQKPiBbPGZmZmZmZmQzMmYxNDc0MTQ+XSBzaHJpbmtfbm9kZSsweDJkMAo+IFs8ZmZm ZmZmZDMyZjE0NmQzOD5dIHNocmlua196b25lcysweDE0Ywo+IFs8ZmZmZmZmZDMyZjE0MmU4ND5d IGRvX3RyeV90b19mcmVlX3BhZ2VzKzB4ZTgKPiBbPGZmZmZmZmQzMmYxNDJiMDg+XSB0cnlfdG9f ZnJlZV9wYWdlcysweDJlMAo+IFs8ZmZmZmZmZDMyZjFhOGU0ND5dIF9fYWxsb2NfcGFnZXNfZGly ZWN0X3JlY2xhaW0rMHg4NAo+IFs8ZmZmZmZmZDMyZjFhMmQ1OD5dIF9fYWxsb2NfcGFnZXNfc2xv d3BhdGgrMHg0ZDAKPiBbPGZmZmZmZmQzMmYxYTIzYmM+XSBfX2FsbG9jX3BhZ2VzX25vZGVtYXNr W2p0XSsweDEyNAo+IFs8ZmZmZmZmZDMyZjE5YTIyMD5dIF9fdm1hbGxvY19hcmVhX25vZGUrMHgx ODgKPiBbPGZmZmZmZmQzMmYxOWEwNDQ+XSBfX3ZtYWxsb2Nfbm9kZV9yYW5nZSsweDg4Cj4gWzxm ZmZmZmZkMzJmMGZiNDMwPl0gc2NzX2FsbG9jKzB4MWI4Cj4gWzxmZmZmZmZkMzJmMGZiNjJjPl0g c2NzX3ByZXBhcmUrMHgyMAo+IFs8ZmZmZmZmZDMyZWYyY2UwND5dIGR1cF90YXNrX3N0cnVjdCsw eGQ0Cj4gWzxmZmZmZmZkMzJlZjJhNzdjPl0gY29weV9wcm9jZXNzKzB4MTQ0Cj4gWzxmZmZmZmZk MzJlZjJiYWU0Pl0ga2VybmVsX2Nsb25lKzB4YjQKPiBbPGZmZmZmZmQzMmVmMmMwNDA+XSBrZXJu ZWxfdGhyZWFkKzB4NWMKPiBbPGZmZmZmZmQzMmVmNjE4ZDA+XSBrdGhyZWFkZCsweDE4NAo+Cj4g d2l0aG91dCB0aGlzIHBhdGNoLCB0aGUgdGFza3Mgd2lsbCByZWNsYWltIGNtYSBwYWdlcyBhbmQg d2FrZXVwCj4gb29tLWtpbGxlciBvciBub3Qgc3BpbiBvbiBjcHVzLgo+Cj4gU2lnbmVkLW9mZi1i eTogSGFpbG9uZy5MaXUgPGxpdWhhaWxvbmdAb3Bwby5jb20+Cj4gLS0tCj4gIG1tL3Ztc2Nhbi5j IHwgMjIgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRp b24oKyksIDIxIGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL21tL3Ztc2Nhbi5jIGIvbW0v dm1zY2FuLmMKPiBpbmRleCAyZmU0YTExZDYzZjQuLjE5N2RkZjYyMDE5ZiAxMDA2NDQKPiAtLS0g YS9tbS92bXNjYW4uYwo+ICsrKyBiL21tL3Ztc2Nhbi5jCj4gQEAgLTIyNjEsMjUgKzIyNjEsNiBA QCBzdGF0aWMgX19hbHdheXNfaW5saW5lIHZvaWQgdXBkYXRlX2xydV9zaXplcyhzdHJ1Y3QgbHJ1 dmVjICpscnV2ZWMsCj4KPiAgfQo+Cj4gLSNpZmRlZiBDT05GSUdfQ01BCj4gLS8qCj4gLSAqIEl0 IGlzIHdhc3RlIG9mIGVmZm9ydCB0byBzY2FuIGFuZCByZWNsYWltIENNQSBwYWdlcyBpZiBpdCBp cyBub3QgYXZhaWxhYmxlCj4gLSAqIGZvciBjdXJyZW50IGFsbG9jYXRpb24gY29udGV4dC4gS3N3 YXBkIGNhbiBub3QgYmUgZW5yb2xsZWQgYXMgaXQgY2FuIG5vdAo+IC0gKiBkaXN0aW5ndWlzaCB0 aGlzIHNjZW5hcmlvIGJ5IHVzaW5nIHNjLT5nZnBfbWFzayA9IEdGUF9LRVJORUwKPiAtICovCj4g LXN0YXRpYyBib29sIHNraXBfY21hKHN0cnVjdCBmb2xpbyAqZm9saW8sIHN0cnVjdCBzY2FuX2Nv bnRyb2wgKnNjKQo+IC17Cj4gLSAgICAgICByZXR1cm4gIWN1cnJlbnRfaXNfa3N3YXBkKCkgJiYK PiAtICAgICAgICAgICAgICAgICAgICAgICBnZnBfbWlncmF0ZXR5cGUoc2MtPmdmcF9tYXNrKSAh PSBNSUdSQVRFX01PVkFCTEUgJiYKPiAtICAgICAgICAgICAgICAgICAgICAgICBnZXRfcGFnZWJs b2NrX21pZ3JhdGV0eXBlKCZmb2xpby0+cGFnZSkgPT0gTUlHUkFURV9DTUE7Cj4gLX0KPiAtI2Vs c2UKPiAtc3RhdGljIGJvb2wgc2tpcF9jbWEoc3RydWN0IGZvbGlvICpmb2xpbywgc3RydWN0IHNj YW5fY29udHJvbCAqc2MpCj4gLXsKPiAtICAgICAgIHJldHVybiBmYWxzZTsKPiAtfQo+IC0jZW5k aWYKPiAtCgo+TkFLLgoKPitDaGFyYW4gVGVqYSBLYWxsYSAtLSBUaGlzIGNhbiBjYXVzZSBidWls ZCBlcnJvcnMgd2hlbiBDT05GSUdfTFJVX0dFTj15LgoKPklmIHlvdSBwbGFuIHRvIHBvc3QgYSB2 MiwgcGxlYXNlIGluY2x1ZGUgYSByZXByb2R1Y2VyLiBUaGFua3MuCgpDb3VsZCB5b3UgcGxlYXNl IHJldGVzdCB0aGUgY2FzZSB3aXRoIGJlbGxvdyBwYXRjaCwgd2hpY2ggaGFzIG5vdCBiZWVuIGlu IHRoZSBhb3NwIHlldC4KCkZyb206IFpoYW95YW5nIEh1YW5nIDx6aGFveWFuZy5odWFuZ0B1bmlz b2MuY29tPgoKQWNjb3JkaW5nIHRvIGN1cnJlbnQgQ01BIHV0aWxpemF0aW9uIHBvbGljeSwgYW4g YWxsb2NfcGFnZXMoR0ZQX1VTRVIpCmNvdWxkICdzdGVhbCcgVU5NT1ZBQkxFICYgUkVDTEFJTUFC TEUgcGFnZSBibG9ja3MgdmlhIHRoZSBoZWxwIG9mCkNNQShwYXNzIHpvbmVfd2F0ZXJtYXJrX29r IGJ5IGNvdW50aW5nIENNQSBpbiBidXQgdXNlIFUmUiBpbiBybXF1ZXVlKSwKd2hpY2ggY291bGQg bGVhZCB0byBmb2xsb3dpbmcgYWxsb2NfcGFnZXMoR0ZQX0tFUk5FTCkgZmFpbC4KU29sdmluZyB0 aGlzIGJ5IGludHJvZHVjaW5nIHNlY29uZCB3YXRlcm1hcmsgY2hlY2tpbmcgZm9yIEdGUF9NT1ZB QkxFLAp3aGljaCBjb3VsZCBoYXZlIHRoZSBhbGxvY2F0aW9uIHVzZSBDTUEgd2hlbiBwcm9wZXIu CgotLSBGcmVlX3BhZ2VzKDMwTUIpCnwKfAotLSBXTUFSS19MT1coMjVNQikKfAotLSBGcmVlX0NN QSgxMk1CKQp8CnwKLS0KClNpZ25lZC1vZmYtYnk6IFpoYW95YW5nIEh1YW5nIDx6aGFveWFuZy5o dWFuZ0B1bmlzb2MuY29tPgotLS0KdjY6IHVwZGF0ZSBjb21tZW50cwotLS0KLS0tCiBtbS9wYWdl X2FsbG9jLmMgfCA0NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0t LQogMSBmaWxlIGNoYW5nZWQsIDQwIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvbW0vcGFnZV9hbGxvYy5jIGIvbW0vcGFnZV9hbGxvYy5jCmluZGV4IDQ1MjQ1OTgz NmI3MS4uNWExNDZhYTdjMGFhIDEwMDY0NAotLS0gYS9tbS9wYWdlX2FsbG9jLmMKKysrIGIvbW0v cGFnZV9hbGxvYy5jCkBAIC0yMDc4LDYgKzIwNzgsNDMgQEAgX19ybXF1ZXVlX2ZhbGxiYWNrKHN0 cnVjdCB6b25lICp6b25lLCBpbnQgb3JkZXIsIGludCBzdGFydF9taWdyYXRldHlwZSwKCiB9Cgor I2lmZGVmIENPTkZJR19DTUEKKy8qCisgKiBHRlBfTU9WQUJMRSBhbGxvY2F0aW9uIGNvdWxkIGRy YWluIFVOTU9WQUJMRSAmIFJFQ0xBSU1BQkxFIHBhZ2UgYmxvY2tzIHZpYQorICogdGhlIGhlbHAg b2YgQ01BIHdoaWNoIG1ha2VzIEdGUF9LRVJORUwgZmFpbGVkLiBDaGVja2luZyBpZiB6b25lX3dh dGVybWFya19vaworICogYWdhaW4gd2l0aG91dCBBTExPQ19DTUEgdG8gc2VlIGlmIHRvIHVzZSBD TUEgZmlyc3QuCisgKi8KK3N0YXRpYyBib29sIHVzZV9jbWFfZmlyc3Qoc3RydWN0IHpvbmUgKnpv bmUsIHVuc2lnbmVkIGludCBvcmRlciwgdW5zaWduZWQgaW50IGFsbG9jX2ZsYWdzKQoreworICAg ICAgIHVuc2lnbmVkIGxvbmcgd2F0ZXJtYXJrOworICAgICAgIGJvb2wgY21hX2ZpcnN0ID0gZmFs c2U7CisKKyAgICAgICB3YXRlcm1hcmsgPSB3bWFya19wYWdlcyh6b25lLCBhbGxvY19mbGFncyAm IEFMTE9DX1dNQVJLX01BU0spOworICAgICAgIC8qIGNoZWNrIGlmIEdGUF9NT1ZBQkxFIHBhc3Mg cHJldmlvdXMgem9uZV93YXRlcm1hcmtfb2sgdmlhIHRoZSBoZWxwIG9mIENNQSAqLworICAgICAg IGlmICh6b25lX3dhdGVybWFya19vayh6b25lLCBvcmRlciwgd2F0ZXJtYXJrLCAwLCBhbGxvY19m bGFncyAmICh+QUxMT0NfQ01BKSkpIHsKKyAgICAgICAgICAgICAgIC8qCisgICAgICAgICAgICAg ICAgKiBCYWxhbmNlIG1vdmFibGUgYWxsb2NhdGlvbnMgYmV0d2VlbiByZWd1bGFyIGFuZCBDTUEg YXJlYXMgYnkKKyAgICAgICAgICAgICAgICAqIGFsbG9jYXRpbmcgZnJvbSBDTUEgd2hlbiBvdmVy IGhhbGYgb2YgdGhlIHpvbmUncyBmcmVlIG1lbW9yeQorICAgICAgICAgICAgICAgICogaXMgaW4g dGhlIENNQSBhcmVhLgorICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICBjbWFfZmly c3QgPSAoem9uZV9wYWdlX3N0YXRlKHpvbmUsIE5SX0ZSRUVfQ01BX1BBR0VTKSA+CisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgem9uZV9wYWdlX3N0YXRlKHpvbmUsIE5SX0ZSRUVfUEFH RVMpIC8gMik7CisgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgIC8qCisgICAgICAgICAg ICAgICAgKiB3YXRlcm1hcmsgZmFpbGVkIG1lYW5zIFVOTU9WQUJMRSAmIFJFQ0xBSU1CTEUgaXMg bm90IGVub3VnaAorICAgICAgICAgICAgICAgICogbm93LCB3ZSBzaG91bGQgdXNlIGNtYSBmaXJz dCB0byBrZWVwIHRoZW0gc3RheSBhcm91bmQgdGhlCisgICAgICAgICAgICAgICAgKiBjb3JyZXNw b25kaW5nIHdhdGVybWFyaworICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICBjbWFf Zmlyc3QgPSB0cnVlOworICAgICAgIH0KKyAgICAgICByZXR1cm4gY21hX2ZpcnN0OworfQorI2Vs c2UKK3N0YXRpYyBib29sIHVzZV9jbWFfZmlyc3Qoc3RydWN0IHpvbmUgKnpvbmUsIHVuc2lnbmVk IGludCBvcmRlciwgdW5zaWduZWQgaW50IGFsbG9jX2ZsYWdzKQoreworICAgICAgIHJldHVybiBm YWxzZTsKK30KKyNlbmRpZgogLyoKICAqIERvIHRoZSBoYXJkIHdvcmsgb2YgcmVtb3ZpbmcgYW4g ZWxlbWVudCBmcm9tIHRoZSBidWRkeSBhbGxvY2F0b3IuCiAgKiBDYWxsIG1lIHdpdGggdGhlIHpv bmUtPmxvY2sgYWxyZWFkeSBoZWxkLgpAQCAtMjA5MSwxMiArMjEyOCwxMSBAQCBfX3JtcXVldWUo c3RydWN0IHpvbmUgKnpvbmUsIHVuc2lnbmVkIGludCBvcmRlciwgaW50IG1pZ3JhdGV0eXBlLAog ICAgICAgIGlmIChJU19FTkFCTEVEKENPTkZJR19DTUEpKSB7CiAgICAgICAgICAgICAgICAvKgog ICAgICAgICAgICAgICAgICogQmFsYW5jZSBtb3ZhYmxlIGFsbG9jYXRpb25zIGJldHdlZW4gcmVn dWxhciBhbmQgQ01BIGFyZWFzIGJ5Ci0gICAgICAgICAgICAgICAgKiBhbGxvY2F0aW5nIGZyb20g Q01BIHdoZW4gb3ZlciBoYWxmIG9mIHRoZSB6b25lJ3MgZnJlZSBtZW1vcnkKLSAgICAgICAgICAg ICAgICAqIGlzIGluIHRoZSBDTUEgYXJlYS4KKyAgICAgICAgICAgICAgICAqIGFsbG9jYXRpbmcg ZnJvbSBDTUEgYmFzZSBvbiBqdWRnaW5nIHpvbmVfd2F0ZXJtYXJrX29rIGFnYWluCisgICAgICAg ICAgICAgICAgKiB0byBzZWUgaWYgdGhlIGxhdGVzdCBjaGVjayBnb3QgcGFzcyB2aWEgdGhlIGhl bHAgb2YgQ01BCiAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgIGlmIChhbGxvY19m bGFncyAmIEFMTE9DX0NNQSAmJgotICAgICAgICAgICAgICAgICAgIHpvbmVfcGFnZV9zdGF0ZSh6 b25lLCBOUl9GUkVFX0NNQV9QQUdFUykgPgotICAgICAgICAgICAgICAgICAgIHpvbmVfcGFnZV9z dGF0ZSh6b25lLCBOUl9GUkVFX1BBR0VTKSAvIDIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAg dXNlX2NtYV9maXJzdCh6b25lLCBvcmRlciwgYWxsb2NfZmxhZ3MpKSB7CiAgICAgICAgICAgICAg ICAgICAgICAgIHBhZ2UgPSBfX3JtcXVldWVfY21hX2ZhbGxiYWNrKHpvbmUsIG9yZGVyKTsKICAg ICAgICAgICAgICAgICAgICAgICAgaWYgKHBhZ2UpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgcmV0dXJuIHBhZ2U7Ci0tCgoKPiAgLyoKPiAgICogSXNvbGF0aW5nIHBhZ2UgZnJvbSB0 aGUgbHJ1dmVjIHRvIGZpbGwgaW4gQGRzdCBsaXN0IGJ5IG5yX3RvX3NjYW4gdGltZXMuCj4gICAq Cj4gQEAgLTIzMjYsOCArMjMwNyw3IEBAIHN0YXRpYyB1bnNpZ25lZCBsb25nIGlzb2xhdGVfbHJ1 X2ZvbGlvcyh1bnNpZ25lZCBsb25nIG5yX3RvX3NjYW4sCj4gICAgICAgICAgICAgICAgIG5yX3Bh Z2VzID0gZm9saW9fbnJfcGFnZXMoZm9saW8pOwo+ICAgICAgICAgICAgICAgICB0b3RhbF9zY2Fu ICs9IG5yX3BhZ2VzOwo+Cj4gLSAgICAgICAgICAgICAgIGlmIChmb2xpb196b25lbnVtKGZvbGlv KSA+IHNjLT5yZWNsYWltX2lkeCB8fAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c2tpcF9jbWEoZm9saW8sIHNjKSkgewo+ICsgICAgICAgICAgICAgICBpZiAoZm9saW9fem9uZW51 bShmb2xpbykgPiBzYy0+cmVjbGFpbV9pZHgpIHsKPiAgICAgICAgICAgICAgICAgICAgICAgICBu cl9za2lwcGVkW2ZvbGlvX3pvbmVudW0oZm9saW8pXSArPSBucl9wYWdlczsKPiAgICAgICAgICAg ICAgICAgICAgICAgICBtb3ZlX3RvID0gJmZvbGlvc19za2lwcGVkOwo+ICAgICAgICAgICAgICAg ICAgICAgICAgIGdvdG8gbW92ZTsKPiAtLQo+IDIuMzQuMQo+Cj4K