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 X-Spam-Level: X-Spam-Status: No, score=-9.6 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7CB4AC10F29 for ; Wed, 18 Mar 2020 17:33:32 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 47C1320753 for ; Wed, 18 Mar 2020 17:33:32 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=xen.org header.i=@xen.org header.b="PVeliIT7" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 47C1320753 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=xen.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1jEcYt-0006St-5K; Wed, 18 Mar 2020 17:32:59 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1jEcYr-0006S4-Nq for xen-devel@lists.xenproject.org; Wed, 18 Mar 2020 17:32:57 +0000 X-Inumbo-ID: 8000c3c8-693e-11ea-bb3a-12813bfff9fa Received: from mail.xenproject.org (unknown [104.130.215.37]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 8000c3c8-693e-11ea-bb3a-12813bfff9fa; Wed, 18 Mar 2020 17:32:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org; s=20200302mail; h=Content-Transfer-Encoding:Content-Type:MIME-Version: References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=y6kty7dqS5pUZuLyfvCfmuZ/hu6jH8Nr3+pSYYCvBKw=; b=PVeliIT7PMUNQd7dI2WOtFXJ2+ /7vANj2+vHU/OPc4HP4G/C4d4wFrjAqdzpbi0xXPUiitp9sErb9dSO+YS9pywcKjoyn6HV7eh9Vb9 ioFw69bFmslIvEdTThJ4QtIIq57o7u0txL6zxShiIMxujzge9Ut8HyUQ6ZACObeg7bLQ=; Received: from xenbits.xenproject.org ([104.239.192.120]) by mail.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1jEcYm-0005UL-QH; Wed, 18 Mar 2020 17:32:52 +0000 Received: from 54-240-197-232.amazon.com ([54.240.197.232] helo=u2f063a87eabd5f.cbg10.amazon.com) by xenbits.xenproject.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1jEcYm-0007B3-DB; Wed, 18 Mar 2020 17:32:52 +0000 From: Paul Durrant To: xen-devel@lists.xenproject.org Date: Wed, 18 Mar 2020 17:32:43 +0000 Message-Id: <20200318173243.29183-4-paul@xen.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200318173243.29183-1-paul@xen.org> References: <20200318173243.29183-1-paul@xen.org> MIME-Version: 1.0 Subject: [Xen-devel] [PATCH v4 3/3] mm: add 'is_special_page' inline function... X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Tamas K Lengyel , Julien Grall , Wei Liu , Paul Durrant , Andrew Cooper , Paul Durrant , Konrad Rzeszutek Wilk , Ian Jackson , George Dunlap , Tim Deegan , Stefano Stabellini , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" RnJvbTogUGF1bCBEdXJyYW50IDxwZHVycmFudEBhbWF6b24uY29tPgoKLi4uIHRvIGNvdmVyIHhl bmhlYXAgYW5kIFBHQ19leHRyYSBwYWdlcy4KClBHQ19leHRyYSBwYWdlcyBhcmUgaW50ZW5kZWQg dG8gaG9sZCBkYXRhIHN0cnVjdHVyZXMgdGhhdCBhcmUgYXNzb2NpYXRlZAp3aXRoIGEgZG9tYWlu IGFuZCBtYXkgYmUgbWFwcGVkIGJ5IHRoYXQgZG9tYWluLiBUaGV5IHNob3VsZCBub3QgYmUgdHJl YXRlZAphcyAnbm9ybWFsJyBndWVzdCBwYWdlcyAoaS5lLiBSQU0gb3IgcGFnZSB0YWJsZXMpLiBI ZW5jZSwgaW4gbWFueSBjYXNlcwp3aGVyZSBjb2RlIGN1cnJlbnRseSB0ZXN0cyBpc194ZW5faGVh cF9wYWdlKCkgaXQgc2hvdWxkIGFsc28gY2hlY2sgZm9yCnRoZSBQR0NfZXh0cmEgYml0IGluICdj b3VudF9pbmZvJy4KClRoaXMgcGF0Y2ggdGhlcmVmb3JlIGRlZmluZXMgaXNfc3BlY2lhbF9wYWdl KCkgdG8gY292ZXIgYm90aCBjYXNlcyBhbmQKY29udmVydHMgdGVzdHMgb2YgaXNfeGVuX2hlYXBf cGFnZSgpIChvciBvcGVuIGNvZGVkIHRlc3RzIG9mIFBHQ194ZW5faGVhcCkKdG8gaXNfc3BlY2lh bF9wYWdlKCkgd2hlcmUgdGhlIHBhZ2UgaXMgYXNzaWduZWQgdG8gYSBkb21haW4uCgpTaWduZWQt b2ZmLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWxAeGVuLm9yZz4KQWNrZWQtYnk6IFRhbWFzIEsgTGVu Z3llbCA8dGFtYXNAdGtsZW5neWVsLmNvbT4KLS0tCkNjOiBKYW4gQmV1bGljaCA8amJldWxpY2hA c3VzZS5jb20+CkNjOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgpD YzogV2VpIExpdSA8d2xAeGVuLm9yZz4KQ2M6ICJSb2dlciBQYXUgTW9ubsOpIiA8cm9nZXIucGF1 QGNpdHJpeC5jb20+CkNjOiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGNpdHJpeC5jb20+ CkNjOiBJYW4gSmFja3NvbiA8aWFuLmphY2tzb25AZXUuY2l0cml4LmNvbT4KQ2M6IEp1bGllbiBH cmFsbCA8anVsaWVuQHhlbi5vcmc+CkNjOiBLb25yYWQgUnplc3p1dGVrIFdpbGsgPGtvbnJhZC53 aWxrQG9yYWNsZS5jb20+CkNjOiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5l bC5vcmc+CkNjOiBUaW0gRGVlZ2FuIDx0aW1AeGVuLm9yZz4KCnY3OgogLSBGaXhlZCBzb21lIHVz ZXMgb2YgaXNfeGVuX2hlYXBfbWZuKCkgdGhhdCBJJ2QgbWlzc2VkCiAtIFVwZGF0ZWQgY29tbWl0 IGNvbW1lbnQgdG8gcG9pbnQgb3V0IHRoYXQgb25seSB0ZXN0cyBvbiBhc3NpZ25lZCB4ZW5oZWFw CiAgIHBhZ2VzIGFyZSBjYW5kaWRhdGVzIGZvciBjb252ZXJzaW9uCgp2NjoKIC0gQ29udmVydCBv cGVuLWNvZGVkIGNoZWNrcyBvZiBQR0NfeGVuX2hlYXAgdG8gdXNlIGlzX3NwZWNpYWxfcGFnZSgp CiAgIHdoZXJlIGFwcHJvcHJpYXRlCgp2NDoKIC0gVXNlIGlubGluZSBmdW5jdGlvbiBpbnN0ZWFk IG9mIG1hY3JvCiAtIEFkZCBtaXNzaW5nIGNvbnZlcnNpb25zIGZyb20gaXNfeGVuX2hlYXBfcGFn ZSgpCgp2MzoKIC0gRGVsZXRlIG9ic29sZXRlIGNvbW1lbnQuCgp2MjoKIC0gTmV3IGluIHYyCi0t LQogeGVuL2FyY2gveDg2L2RvbWN0bC5jICAgICAgICAgICB8ICAyICstCiB4ZW4vYXJjaC94ODYv bW0uYyAgICAgICAgICAgICAgIHwgMTMgKysrKysrLS0tLS0tLQogeGVuL2FyY2gveDg2L21tL2Fs dHAybS5jICAgICAgICB8ICAyICstCiB4ZW4vYXJjaC94ODYvbW0vbWVtX3NoYXJpbmcuYyAgIHwg IDMgKy0tCiB4ZW4vYXJjaC94ODYvbW0vcDJtLXBvZC5jICAgICAgIHwgMTIgKysrKysrKy0tLS0t CiB4ZW4vYXJjaC94ODYvbW0vcDJtLmMgICAgICAgICAgIHwgIDQgKystLQogeGVuL2FyY2gveDg2 L21tL3NoYWRvdy9jb21tb24uYyB8IDEzICsrKysrKysrLS0tLS0KIHhlbi9hcmNoL3g4Ni9tbS9z aGFkb3cvbXVsdGkuYyAgfCAgMyArKy0KIHhlbi9hcmNoL3g4Ni90Ym9vdC5jICAgICAgICAgICAg fCAgNCArKy0tCiB4ZW4vaW5jbHVkZS94ZW4vbW0uaCAgICAgICAgICAgIHwgIDUgKysrKysKIDEw IGZpbGVzIGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL3hlbi9hcmNoL3g4Ni9kb21jdGwuYyBiL3hlbi9hcmNoL3g4Ni9kb21jdGwuYwppbmRl eCBlZDg2NzYyZmE2Li5hZGQ3MDEyNmI5IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvZG9tY3Rs LmMKKysrIGIveGVuL2FyY2gveDg2L2RvbWN0bC5jCkBAIC0zOTQsNyArMzk0LDcgQEAgbG9uZyBh cmNoX2RvX2RvbWN0bCgKICAgICAgICAgICAgIHBhZ2UgPSBnZXRfcGFnZV9mcm9tX2dmbihkLCBn Zm4sICZ0LCBQMk1fQUxMT0MpOwogCiAgICAgICAgICAgICBpZiAoIHVubGlrZWx5KCFwYWdlKSB8 fAotICAgICAgICAgICAgICAgICB1bmxpa2VseShpc194ZW5faGVhcF9wYWdlKHBhZ2UpKSApCisg ICAgICAgICAgICAgICAgIHVubGlrZWx5KGlzX3NwZWNpYWxfcGFnZShwYWdlKSkgKQogICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgIGlmICggdW5saWtlbHkocDJtX2lzX2Jyb2tlbih0KSkg KQogICAgICAgICAgICAgICAgICAgICB0eXBlID0gWEVOX0RPTUNUTF9QRklORk9fQlJPS0VOOwpk aWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tLmMgYi94ZW4vYXJjaC94ODYvbW0uYwppbmRleCA2 MjUwN2NhNjUxLi4yZmFjNjdhZDU3IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0uYworKysg Yi94ZW4vYXJjaC94ODYvbW0uYwpAQCAtMTAxNCw3ICsxMDE0LDcgQEAgZ2V0X3BhZ2VfZnJvbV9s MWUoCiAgICAgICAgIHVuc2lnbmVkIGxvbmcgY2FjaGVhdHRyID0gcHRlX2ZsYWdzX3RvX2NhY2hl YXR0cihsMWYpOwogICAgICAgICBpbnQgZXJyOwogCi0gICAgICAgIGlmICggaXNfeGVuX2hlYXBf cGFnZShwYWdlKSApCisgICAgICAgIGlmICggaXNfc3BlY2lhbF9wYWdlKHBhZ2UpICkKICAgICAg ICAgewogICAgICAgICAgICAgaWYgKCB3cml0ZSApCiAgICAgICAgICAgICAgICAgcHV0X3BhZ2Vf dHlwZShwYWdlKTsKQEAgLTI0NDcsNyArMjQ0Nyw3IEBAIHN0YXRpYyBpbnQgY2xlYW51cF9wYWdl X21hcHBpbmdzKHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UpCiAgICAgewogICAgICAgICBwYWdlLT5j b3VudF9pbmZvICY9IH5QR0NfY2FjaGVhdHRyX21hc2s7CiAKLSAgICAgICAgQlVHX09OKGlzX3hl bl9oZWFwX3BhZ2UocGFnZSkpOworICAgICAgICBCVUdfT04oaXNfc3BlY2lhbF9wYWdlKHBhZ2Up KTsKIAogICAgICAgICByYyA9IHVwZGF0ZV94ZW5fbWFwcGluZ3MobWZuLCAwKTsKICAgICB9CkBA IC0yNDc3LDcgKzI0NzcsNyBAQCBzdGF0aWMgaW50IGNsZWFudXBfcGFnZV9tYXBwaW5ncyhzdHJ1 Y3QgcGFnZV9pbmZvICpwYWdlKQogICAgICAgICAgICAgICAgIHJjID0gcmMyOwogICAgICAgICB9 CiAKLSAgICAgICAgaWYgKCBsaWtlbHkoIWlzX3hlbl9oZWFwX3BhZ2UocGFnZSkpICkKKyAgICAg ICAgaWYgKCBsaWtlbHkoIWlzX3NwZWNpYWxfcGFnZShwYWdlKSkgKQogICAgICAgICB7CiAgICAg ICAgICAgICBBU1NFUlQoKHBhZ2UtPnUuaW51c2UudHlwZV9pbmZvICYKICAgICAgICAgICAgICAg ICAgICAgKFBHVF90eXBlX21hc2sgfCBQR1RfY291bnRfbWFzaykpID09IFBHVF93cml0YWJsZV9w YWdlKTsKQEAgLTQyMTYsOCArNDIxNiw3IEBAIGludCBzdGVhbF9wYWdlKAogICAgIGlmICggIShv d25lciA9IHBhZ2VfZ2V0X293bmVyX2FuZF9yZWZlcmVuY2UocGFnZSkpICkKICAgICAgICAgZ290 byBmYWlsOwogCi0gICAgaWYgKCBvd25lciAhPSBkIHx8IGlzX3hlbl9oZWFwX3BhZ2UocGFnZSkg fHwKLSAgICAgICAgIChwYWdlLT5jb3VudF9pbmZvICYgUEdDX2V4dHJhKSApCisgICAgaWYgKCBv d25lciAhPSBkIHx8IGlzX3NwZWNpYWxfcGFnZShwYWdlKSApCiAgICAgICAgIGdvdG8gZmFpbF9w dXQ7CiAKICAgICAvKgpAQCAtNDU4MCw4ICs0NTc5LDggQEAgaW50IHhlbm1lbV9hZGRfdG9fcGh5 c21hcF9vbmUoCiAgICAgcHJldl9tZm4gPSBnZXRfZ2ZuKGQsIGdmbl94KGdwZm4pLCAmcDJtdCk7 CiAgICAgaWYgKCBtZm5fdmFsaWQocHJldl9tZm4pICkKICAgICB7Ci0gICAgICAgIGlmICggaXNf eGVuX2hlYXBfbWZuKHByZXZfbWZuKSApCi0gICAgICAgICAgICAvKiBYZW4gaGVhcCBmcmFtZXMg YXJlIHNpbXBseSB1bmhvb2tlZCBmcm9tIHRoaXMgcGh5cyBzbG90LiAqLworICAgICAgICBpZiAo IGlzX3NwZWNpYWxfcGFnZShtZm5fdG9fcGFnZShwcmV2X21mbikpICkKKyAgICAgICAgICAgIC8q IFNwZWNpYWwgcGFnZXMgYXJlIHNpbXBseSB1bmhvb2tlZCBmcm9tIHRoaXMgcGh5cyBzbG90LiAq LwogICAgICAgICAgICAgcmMgPSBndWVzdF9waHlzbWFwX3JlbW92ZV9wYWdlKGQsIGdwZm4sIHBy ZXZfbWZuLCBQQUdFX09SREVSXzRLKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgLyogTm9y bWFsIGRvbWFpbiBtZW1vcnkgaXMgZnJlZWQsIHRvIGF2b2lkIGxlYWtpbmcgbWVtb3J5LiAqLwpk aWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tL2FsdHAybS5jIGIveGVuL2FyY2gveDg2L21tL2Fs dHAybS5jCmluZGV4IDUwNzY4ZjI1NDcuLmMwOTFiMDNlYTMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo L3g4Ni9tbS9hbHRwMm0uYworKysgYi94ZW4vYXJjaC94ODYvbW0vYWx0cDJtLmMKQEAgLTc3LDcg Kzc3LDcgQEAgaW50IGFsdHAybV92Y3B1X2VuYWJsZV92ZShzdHJ1Y3QgdmNwdSAqdiwgZ2ZuX3Qg Z2ZuKQogICAgICAqIHBhZ2VhYmxlKCkgcHJlZGljYXRlIGZvciB0aGlzLCBkdWUgdG8gaXQgaGF2 aW5nIHRoZSBzYW1lIHByb3BlcnRpZXMKICAgICAgKiB0aGF0IHdlIHdhbnQuCiAgICAgICovCi0g ICAgaWYgKCAhcDJtX2lzX3BhZ2VhYmxlKHAybXQpIHx8IGlzX3hlbl9oZWFwX3BhZ2UocGcpICkK KyAgICBpZiAoICFwMm1faXNfcGFnZWFibGUocDJtdCkgfHwgaXNfc3BlY2lhbF9wYWdlKHBnKSAp CiAgICAgewogICAgICAgICByYyA9IC1FSU5WQUw7CiAgICAgICAgIGdvdG8gZXJyOwpkaWZmIC0t Z2l0IGEveGVuL2FyY2gveDg2L21tL21lbV9zaGFyaW5nLmMgYi94ZW4vYXJjaC94ODYvbW0vbWVt X3NoYXJpbmcuYwppbmRleCAzODM1YmM5MjhmLi5mNDlmMjdhM2VmIDEwMDY0NAotLS0gYS94ZW4v YXJjaC94ODYvbW0vbWVtX3NoYXJpbmcuYworKysgYi94ZW4vYXJjaC94ODYvbW0vbWVtX3NoYXJp bmcuYwpAQCAtODQwLDkgKzg0MCw4IEBAIHN0YXRpYyBpbnQgbm9taW5hdGVfcGFnZShzdHJ1Y3Qg ZG9tYWluICpkLCBnZm5fdCBnZm4sCiAgICAgaWYgKCAhcDJtX2lzX3NoYXJhYmxlKHAybXQpICkK ICAgICAgICAgZ290byBvdXQ7CiAKLSAgICAvKiBTa2lwIHhlbiBoZWFwIHBhZ2VzICovCiAgICAg cGFnZSA9IG1mbl90b19wYWdlKG1mbik7Ci0gICAgaWYgKCAhcGFnZSB8fCBpc194ZW5faGVhcF9w YWdlKHBhZ2UpICkKKyAgICBpZiAoICFwYWdlIHx8IGlzX3NwZWNpYWxfcGFnZShwYWdlKSApCiAg ICAgICAgIGdvdG8gb3V0OwogCiAgICAgLyogQ2hlY2sgaWYgdGhlcmUgYXJlIG1lbV9hY2Nlc3Mv cmVtYXBwZWQgYWx0cDJtIGVudHJpZXMgZm9yIHRoaXMgcGFnZSAqLwpkaWZmIC0tZ2l0IGEveGVu L2FyY2gveDg2L21tL3AybS1wb2QuYyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0tcG9kLmMKaW5kZXgg MmE3YjhjMTE3Yi4uMzZiYzQ3MWU3ZiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L21tL3AybS1w b2QuYworKysgYi94ZW4vYXJjaC94ODYvbW0vcDJtLXBvZC5jCkBAIC03NDksOCArNzQ5LDkgQEAg cDJtX3BvZF96ZXJvX2NoZWNrX3N1cGVycGFnZShzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLCBnZm5f dCBnZm4pCiAKICAgICAgICAgbiA9IDFVTCA8PCBtaW4oY3VyX29yZGVyLCBTVVBFUlBBR0VfT1JE RVIgKyAwVSk7CiAgICAgICAgIGZvciAoIGsgPSAwLCBwYWdlID0gbWZuX3RvX3BhZ2UobWZuKTsg ayA8IG47ICsraywgKytwYWdlICkKLSAgICAgICAgICAgIGlmICggIShwYWdlLT5jb3VudF9pbmZv ICYgUEdDX2FsbG9jYXRlZCkgfHwKLSAgICAgICAgICAgICAgICAgKHBhZ2UtPmNvdW50X2luZm8g JiAoUEdDX3BhZ2VfdGFibGUgfCBQR0NfeGVuX2hlYXApKSB8fAorICAgICAgICAgICAgaWYgKCBp c19zcGVjaWFsX3BhZ2UocGFnZSkgfHwKKyAgICAgICAgICAgICAgICAgIShwYWdlLT5jb3VudF9p bmZvICYgUEdDX2FsbG9jYXRlZCkgfHwKKyAgICAgICAgICAgICAgICAgKHBhZ2UtPmNvdW50X2lu Zm8gJiBQR0NfcGFnZV90YWJsZSkgfHwKICAgICAgICAgICAgICAgICAgKHBhZ2UtPmNvdW50X2lu Zm8gJiBQR0NfY291bnRfbWFzaykgPiBtYXhfcmVmICkKICAgICAgICAgICAgICAgICBnb3RvIG91 dDsKICAgICB9CkBAIC04ODMsMTEgKzg4NCwxMiBAQCBwMm1fcG9kX3plcm9fY2hlY2soc3RydWN0 IHAybV9kb21haW4gKnAybSwgY29uc3QgZ2ZuX3QgKmdmbnMsIHVuc2lnbmVkIGludCBjb3VudAog ICAgICAgICBwZyA9IG1mbl90b19wYWdlKG1mbnNbaV0pOwogCiAgICAgICAgIC8qCi0gICAgICAg ICAqIElmIHRoaXMgaXMgcmFtLCBhbmQgbm90IGEgcGFnZXRhYmxlIG9yIGZyb20gdGhlIHhlbiBo ZWFwLCBhbmQKKyAgICAgICAgICogSWYgdGhpcyBpcyByYW0sIGFuZCBub3QgYSBwYWdldGFibGUg b3IgYSBzcGVjaWFsIHBhZ2UsIGFuZAogICAgICAgICAgKiBwcm9iYWJseSBub3QgbWFwcGVkIGVs c2V3aGVyZSwgbWFwIGl0OyBvdGhlcndpc2UsIHNraXAuCiAgICAgICAgICAqLwotICAgICAgICBp ZiAoIHAybV9pc19yYW0odHlwZXNbaV0pICYmIChwZy0+Y291bnRfaW5mbyAmIFBHQ19hbGxvY2F0 ZWQpICYmCi0gICAgICAgICAgICAgIShwZy0+Y291bnRfaW5mbyAmIChQR0NfcGFnZV90YWJsZSB8 IFBHQ194ZW5faGVhcCkpICYmCisgICAgICAgIGlmICggIWlzX3NwZWNpYWxfcGFnZShwZykgJiYg cDJtX2lzX3JhbSh0eXBlc1tpXSkgJiYKKyAgICAgICAgICAgICAocGctPmNvdW50X2luZm8gJiBQ R0NfYWxsb2NhdGVkKSAmJgorICAgICAgICAgICAgICEocGctPmNvdW50X2luZm8gJiBQR0NfcGFn ZV90YWJsZSkgJiYKICAgICAgICAgICAgICAoKHBnLT5jb3VudF9pbmZvICYgUEdDX2NvdW50X21h c2spIDw9IG1heF9yZWYpICkKICAgICAgICAgICAgIG1hcFtpXSA9IG1hcF9kb21haW5fcGFnZSht Zm5zW2ldKTsKICAgICAgICAgZWxzZQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tL3AybS5j IGIveGVuL2FyY2gveDg2L21tL3AybS5jCmluZGV4IDlmNTEzNzAzMjcuLmQ5M2M0MThiY2YgMTAw NjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYworKysgYi94ZW4vYXJjaC94ODYvbW0vcDJt LmMKQEAgLTI5ODMsOCArMjk4Myw4IEBAIGludCBwMm1fYWRkX2ZvcmVpZ24oc3RydWN0IGRvbWFp biAqdGRvbSwgdW5zaWduZWQgbG9uZyBmZ2ZuLAogICAgIHByZXZfbWZuID0gZ2V0X2dmbih0ZG9t LCBncGZuLCAmcDJtdF9wcmV2KTsKICAgICBpZiAoIG1mbl92YWxpZChwcmV2X21mbikgKQogICAg IHsKLSAgICAgICAgaWYgKCBpc194ZW5faGVhcF9tZm4ocHJldl9tZm4pICkKLSAgICAgICAgICAg IC8qIFhlbiBoZWFwIGZyYW1lcyBhcmUgc2ltcGx5IHVuaG9va2VkIGZyb20gdGhpcyBwaHlzIHNs b3QgKi8KKyAgICAgICAgaWYgKCBpc19zcGVjaWFsX3BhZ2UobWZuX3RvX3BhZ2UocHJldl9tZm4p KSApCisgICAgICAgICAgICAvKiBTcGVjaWFsIHBhZ2VzIGFyZSBzaW1wbHkgdW5ob29rZWQgZnJv bSB0aGlzIHBoeXMgc2xvdCAqLwogICAgICAgICAgICAgcmMgPSBndWVzdF9waHlzbWFwX3JlbW92 ZV9wYWdlKHRkb20sIF9nZm4oZ3BmbiksIHByZXZfbWZuLCAwKTsKICAgICAgICAgZWxzZQogICAg ICAgICAgICAgLyogTm9ybWFsIGRvbWFpbiBtZW1vcnkgaXMgZnJlZWQsIHRvIGF2b2lkIGxlYWtp bmcgbWVtb3J5LiAqLwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tL3NoYWRvdy9jb21tb24u YyBiL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9uLmMKaW5kZXggMTIxZGRmMTI1NS4uNzVk ZDQxNGE2ZSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L21tL3NoYWRvdy9jb21tb24uYworKysg Yi94ZW4vYXJjaC94ODYvbW0vc2hhZG93L2NvbW1vbi5jCkBAIC0yMDg3LDE5ICsyMDg3LDIyIEBA IHN0YXRpYyBpbnQgc2hfcmVtb3ZlX2FsbF9tYXBwaW5ncyhzdHJ1Y3QgZG9tYWluICpkLCBtZm5f dCBnbWZuLCBnZm5fdCBnZm4pCiAgICAgICAgICAqIFRoZSBxZW11IGhlbHBlciBwcm9jZXNzIGhh cyBhbiB1bnR5cGVkIG1hcHBpbmcgb2YgdGhpcyBkb20ncyBSQU0KICAgICAgICAgICogYW5kIHRo ZSBIVk0gcmVzdG9yZSBwcm9ncmFtIHRha2VzIGFub3RoZXIuCiAgICAgICAgICAqIEFsc28gYWxs b3cgb25lIHR5cGVkIHJlZmNvdW50IGZvcgotICAgICAgICAgKiAtIFhlbiBoZWFwIHBhZ2VzLCB0 byBtYXRjaCBzaGFyZV94ZW5fcGFnZV93aXRoX2d1ZXN0KCksCi0gICAgICAgICAqIC0gaW9yZXEg c2VydmVyIHBhZ2VzLCB0byBtYXRjaCBwcmVwYXJlX3JpbmdfZm9yX2hlbHBlcigpLgorICAgICAg ICAgKiAtIHNwZWNpYWwgcGFnZXMsIHdoaWNoIGFyZSBleHBsaWNpdGx5IHJlZmVyZW5jZWQgYW5k IG1hcHBlZCBieQorICAgICAgICAgKiAgIFhlbi4KKyAgICAgICAgICogLSBpb3JlcSBzZXJ2ZXIg cGFnZXMsIHdoaWNoIG1heSBiZSBzcGVjaWFsIHBhZ2VzIG9yIG5vcm1hbAorICAgICAgICAgKiAg IGd1ZXN0IHBhZ2VzIHdpdGggYW4gZXh0cmEgcmVmZXJlbmNlIHRha2VuIGJ5CisgICAgICAgICAq ICAgcHJlcGFyZV9yaW5nX2Zvcl9oZWxwZXIoKS4KICAgICAgICAgICovCiAgICAgICAgIGlmICgg IShzaGFkb3dfbW9kZV9leHRlcm5hbChkKQogICAgICAgICAgICAgICAgJiYgKHBhZ2UtPmNvdW50 X2luZm8gJiBQR0NfY291bnRfbWFzaykgPD0gMwogICAgICAgICAgICAgICAgJiYgKChwYWdlLT51 LmludXNlLnR5cGVfaW5mbyAmIFBHVF9jb3VudF9tYXNrKQotICAgICAgICAgICAgICAgICAgID09 IChpc194ZW5faGVhcF9wYWdlKHBhZ2UpIHx8CisgICAgICAgICAgICAgICAgICAgPT0gKGlzX3Nw ZWNpYWxfcGFnZShwYWdlKSB8fAogICAgICAgICAgICAgICAgICAgICAgICAoaXNfaHZtX2RvbWFp bihkKSAmJiBpc19pb3JlcV9zZXJ2ZXJfcGFnZShkLCBwYWdlKSkpKSkgKQogICAgICAgICAgICAg cHJpbnRrKFhFTkxPR19HX0VSUiAiY2FuJ3QgZmluZCBhbGwgbWFwcGluZ3Mgb2YgbWZuICUiUFJJ X21mbgotICAgICAgICAgICAgICAgICAgICIgKGdmbiAlIlBSSV9nZm4iKTogYz0lbHggdD0lbHgg eD0lZCBpPSVkXG4iLAorICAgICAgICAgICAgICAgICAgICIgKGdmbiAlIlBSSV9nZm4iKTogYz0l bHggdD0lbHggcz0lZCBpPSVkXG4iLAogICAgICAgICAgICAgICAgICAgIG1mbl94KGdtZm4pLCBn Zm5feChnZm4pLAogICAgICAgICAgICAgICAgICAgIHBhZ2UtPmNvdW50X2luZm8sIHBhZ2UtPnUu aW51c2UudHlwZV9pbmZvLAotICAgICAgICAgICAgICAgICAgICEhaXNfeGVuX2hlYXBfcGFnZShw YWdlKSwKKyAgICAgICAgICAgICAgICAgICBpc19zcGVjaWFsX3BhZ2UocGFnZSksCiAgICAgICAg ICAgICAgICAgICAgKGlzX2h2bV9kb21haW4oZCkgJiYgaXNfaW9yZXFfc2VydmVyX3BhZ2UoZCwg cGFnZSkpKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvbXVs dGkuYyBiL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvbXVsdGkuYwppbmRleCBiNmFmYzBmYmE0Li5m NmIxNjI4NzQyIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0vc2hhZG93L211bHRpLmMKKysr IGIveGVuL2FyY2gveDg2L21tL3NoYWRvdy9tdWx0aS5jCkBAIC01NTksNyArNTU5LDggQEAgX3No X3Byb3BhZ2F0ZShzdHJ1Y3QgdmNwdSAqdiwKICAgICAgKiBjYWNoaW5nIGF0dHJpYnV0ZXMgaW4g dGhlIHNoYWRvd3MgdG8gbWF0Y2ggd2hhdCB3YXMgYXNrZWQgZm9yLgogICAgICAqLwogICAgIGlm ICggKGxldmVsID09IDEpICYmIGlzX2h2bV9kb21haW4oZCkgJiYKLSAgICAgICAgICFpc194ZW5f aGVhcF9tZm4odGFyZ2V0X21mbikgKQorICAgICAgICAgKCFtZm5fdmFsaWQodGFyZ2V0X21mbikg fHwKKyAgICAgICAgICAhaXNfc3BlY2lhbF9wYWdlKG1mbl90b19wYWdlKHRhcmdldF9tZm4pKSkg KQogICAgIHsKICAgICAgICAgaW50IHR5cGU7CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni90 Ym9vdC5jIGIveGVuL2FyY2gveDg2L3Rib290LmMKaW5kZXggOGMyMzIyNzBiNC4uMzIyNGQxNjg0 YiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3Rib290LmMKKysrIGIveGVuL2FyY2gveDg2L3Ri b290LmMKQEAgLTE4OSw3ICsxODksNyBAQCBzdGF0aWMgdm9pZCB1cGRhdGVfcGFnZXRhYmxlX21h Yyh2bWFjX2N0eF90ICpjdHgpCiAKICAgICAgICAgaWYgKCAhbWZuX3ZhbGlkKF9tZm4obWZuKSkg KQogICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIGlmICggaXNfcGFnZV9pbl91c2UocGFn ZSkgJiYgIWlzX3hlbl9oZWFwX3BhZ2UocGFnZSkgKQorICAgICAgICBpZiAoIGlzX3BhZ2VfaW5f dXNlKHBhZ2UpICYmICFpc19zcGVjaWFsX3BhZ2UocGFnZSkgKQogICAgICAgICB7CiAgICAgICAg ICAgICBpZiAoIHBhZ2UtPmNvdW50X2luZm8gJiBQR0NfcGFnZV90YWJsZSApCiAgICAgICAgICAg ICB7CkBAIC0yODksNyArMjg5LDcgQEAgc3RhdGljIHZvaWQgdGJvb3RfZ2VuX3hlbmhlYXBfaW50 ZWdyaXR5KGNvbnN0IHVpbnQ4X3Qga2V5W1RCX0tFWV9TSVpFXSwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICsgMyAqIFBBR0VfU0laRSkpICkKICAgICAgICAgICAgIGNvbnRpbnVlOyAv KiBza2lwIHRib290IGFuZCBpdHMgcGFnZSB0YWJsZXMgKi8KIAotICAgICAgICBpZiAoIGlzX3Bh Z2VfaW5fdXNlKHBhZ2UpICYmIGlzX3hlbl9oZWFwX3BhZ2UocGFnZSkgKQorICAgICAgICBpZiAo IGlzX3BhZ2VfaW5fdXNlKHBhZ2UpICYmIGlzX3NwZWNpYWxfcGFnZShwYWdlKSApCiAgICAgICAg IHsKICAgICAgICAgICAgIHZvaWQgKnBnOwogCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4v bW0uaCBiL3hlbi9pbmNsdWRlL3hlbi9tbS5oCmluZGV4IGExNjNjMjAxZTIuLjliNjIwODdiZTEg MTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9tbS5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9t bS5oCkBAIC0yODUsNiArMjg1LDExIEBAIGV4dGVybiBzdHJ1Y3QgZG9tYWluICpkb21fY293Owog CiAjaW5jbHVkZSA8YXNtL21tLmg+CiAKK3N0YXRpYyBpbmxpbmUgYm9vbCBpc19zcGVjaWFsX3Bh Z2UoY29uc3Qgc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSkKK3sKKyAgICByZXR1cm4gaXNfeGVuX2hl YXBfcGFnZShwYWdlKSB8fCAocGFnZS0+Y291bnRfaW5mbyAmIFBHQ19leHRyYSk7Cit9CisKICNp Zm5kZWYgcGFnZV9saXN0X2VudHJ5CiBzdHJ1Y3QgcGFnZV9saXN0X2hlYWQKIHsKLS0gCjIuMjAu MQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8v bGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=