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.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,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 08C95C433FF for ; Tue, 30 Jul 2019 13:44:54 +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 CFAA6206B8 for ; Tue, 30 Jul 2019 13:44:53 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CFAA6206B8 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=citrix.com Authentication-Results: mail.kernel.org; spf=none 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 1hsSQW-00057X-Q7; Tue, 30 Jul 2019 13:44:28 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hsSQU-00056Z-Jl for xen-devel@lists.xenproject.org; Tue, 30 Jul 2019 13:44:26 +0000 X-Inumbo-ID: 2456fc8b-b2d0-11e9-8980-bc764e045a96 Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id 2456fc8b-b2d0-11e9-8980-bc764e045a96; Tue, 30 Jul 2019 13:44:24 +0000 (UTC) Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=paul.durrant@citrix.com; spf=Pass smtp.mailfrom=Paul.Durrant@citrix.com; spf=None smtp.helo=postmaster@mail.citrix.com Received-SPF: None (esa4.hc3370-68.iphmx.com: no sender authenticity information available from domain of paul.durrant@citrix.com) identity=pra; client-ip=162.221.158.21; receiver=esa4.hc3370-68.iphmx.com; envelope-from="Paul.Durrant@citrix.com"; x-sender="paul.durrant@citrix.com"; x-conformance=sidf_compatible Received-SPF: Pass (esa4.hc3370-68.iphmx.com: domain of Paul.Durrant@citrix.com designates 162.221.158.21 as permitted sender) identity=mailfrom; client-ip=162.221.158.21; receiver=esa4.hc3370-68.iphmx.com; envelope-from="Paul.Durrant@citrix.com"; x-sender="Paul.Durrant@citrix.com"; x-conformance=sidf_compatible; x-record-type="v=spf1"; x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83 ~all" Received-SPF: None (esa4.hc3370-68.iphmx.com: no sender authenticity information available from domain of postmaster@mail.citrix.com) identity=helo; client-ip=162.221.158.21; receiver=esa4.hc3370-68.iphmx.com; envelope-from="Paul.Durrant@citrix.com"; x-sender="postmaster@mail.citrix.com"; x-conformance=sidf_compatible IronPort-SDR: /BC2c72ZHmeNmZZkvgU7aysbEuQtF1YQzlOaTrtpL10cJlCsU7ktJDE1nN8BBuxltWExckZRF+ PW00YvnOtMiGNJIarnQkvnfsEE590UyoEOptGAmQsXsm1hBtOmxZmLzzud5smFgf/WIGW5DBaJ SnWrSXQnRiLb8OSni0ifoUJEExLmWpT0as/eQDOSPzRYVgh4baGZtayC3Vi029JsesGTM6PvGF QugX76dkli7TAWslkkbDVKJLEJ4m1hucWRnizHiusQNZxP0F5Q/OzSsuFhpcfCYbrgZDHuIr+f mBM= X-SBRS: 2.7 X-MesageID: 3760801 X-Ironport-Server: esa4.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.64,326,1559534400"; d="scan'208";a="3760801" From: Paul Durrant To: Date: Tue, 30 Jul 2019 14:44:15 +0100 Message-ID: <20190730134419.2739-3-paul.durrant@citrix.com> X-Mailer: git-send-email 2.20.1.2.gb21ebb671 In-Reply-To: <20190730134419.2739-1-paul.durrant@citrix.com> References: <20190730134419.2739-1-paul.durrant@citrix.com> MIME-Version: 1.0 Subject: [Xen-devel] [PATCH 2/6] use is_iommu_enabled() where appropriate... 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: Kevin Tian , Stefano Stabellini , Jun Nakajima , Wei Liu , George Dunlap , Andrew Cooper , Brian Woods , Julien Grall , Paul Durrant , Jan Beulich , Volodymyr Babchuk , Suravee Suthikulpanit , =?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" Li4ucmF0aGVyIHRoYW4gdGVzdGluZyB0aGUgZ2xvYmFsIGlvbW11X2VuYWJsZWQgZmxhZyBhbmQg b3BzIHBvaW50ZXIuCgpOb3cgdGhhdCB0aGVyZSBpcyBhIHBlci1kb21haW4gZmxhZyBpbmRpY2F0 aW5nIHdoZXRoZXIgdGhlIGRvbWFpbiBpcwpwZXJtaXR0ZWQgdG8gdXNlIHRoZSBJT01NVSAod2hp Y2ggZGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBvcHMgcG9pbnRlciB3aWxsCmJlIHNldCksIG1hbnkg dGVzdHMgb2YgdGhlIGdsb2JhbCBpb21tdV9lbmFibGVkIGZsYWcgYW5kIG9wcyBwb2ludGVyIGNh bgpiZSB0cmFuc2xhdGVkIGludG8gdGVzdHMgb2YgdGhlIHBlci1kb21haW4gZmxhZy4gU29tZSBv ZiB0aGUgb3RoZXIgdGVzdHMgb2YKcHVyZWx5IHRoZSBnbG9iYWwgaW9tbXVfZW5hYmxlZCBmbGFn IGNhbiBhbHNvIGJlIHRyYW5zbGF0ZWQgaW50byB0ZXN0cyBvZgp0aGUgcGVyLWRvbWFpbiBmbGFn LgoKTk9URTogVGhlIGNvbW1lbnQgaW4gaW9tbXVfc2hhcmVfcDJtX3RhYmxlKCkgaXMgYWxzbyBm aXhlZDsgbmVlZF9pb21tdSgpCiAgICAgIGRpc2FwcGVhcmVkIHNvbWUgdGltZSBhZ28uCgpTaWdu ZWQtb2ZmLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWwuZHVycmFudEBjaXRyaXguY29tPgotLS0KQ2M6 IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KQ2M6IEp1bGllbiBH cmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+CkNjOiBWb2xvZHlteXIgQmFiY2h1ayA8Vm9sb2R5 bXlyX0JhYmNodWtAZXBhbS5jb20+CkNjOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+ CkNjOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgpDYzogV2VpIExp dSA8d2xAeGVuLm9yZz4KQ2M6ICJSb2dlciBQYXUgTW9ubsOpIiA8cm9nZXIucGF1QGNpdHJpeC5j b20+CkNjOiBKdW4gTmFrYWppbWEgPGp1bi5uYWthamltYUBpbnRlbC5jb20+CkNjOiBLZXZpbiBU aWFuIDxrZXZpbi50aWFuQGludGVsLmNvbT4KQ2M6IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5s YXBAZXUuY2l0cml4LmNvbT4KQ2M6IFN1cmF2ZWUgU3V0aGlrdWxwYW5pdCA8c3VyYXZlZS5zdXRo aWt1bHBhbml0QGFtZC5jb20+CkNjOiBCcmlhbiBXb29kcyA8YnJpYW4ud29vZHNAYW1kLmNvbT4K LS0tCiB4ZW4vYXJjaC9hcm0vcDJtLmMgICAgICAgICAgICAgICAgICAgICAgICB8ICAzICstLQog eGVuL2FyY2gveDg2L2RvbTBfYnVpbGQuYyAgICAgICAgICAgICAgICAgfCAgMiArLQogeGVuL2Fy Y2gveDg2L2RvbWN0bC5jICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCiB4ZW4vYXJjaC94 ODYvaHZtL2h2bS5jICAgICAgICAgICAgICAgICAgICB8ICA2ICsrLS0tCiB4ZW4vYXJjaC94ODYv aHZtL3Zpb2FwaWMuYyAgICAgICAgICAgICAgICB8ICAyICstCiB4ZW4vYXJjaC94ODYvaHZtL3Zt eC92bWNzLmMgICAgICAgICAgICAgICB8ICAyICstCiB4ZW4vYXJjaC94ODYvaHZtL3ZteC92bXgu YyAgICAgICAgICAgICAgICB8ICAyICstCiB4ZW4vYXJjaC94ODYvbW0vcDJtLWVwdC5jICAgICAg ICAgICAgICAgICB8ICA0ICsrLS0KIHhlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9n dWVzdC5jIHwgIDIgKy0KIHhlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2RldmljZV90cmVlLmMgICAg IHwgIDQgKystLQogeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW8uYyAgICAgICAgICAgICAgfCAg OCArKystLS0tCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5jICAgICAgICAgICB8IDI5 ICsrKysrKysrKystLS0tLS0tLS0tLS0tCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9wY2kuYyAg ICAgICAgICAgICB8IDE0ICsrKysrLS0tLS0tCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQv aW9tbXUuYyAgICAgICB8ICAyICstCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQveDg2L2h2 bS5jICAgICB8ICAyICstCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC94ODYvaW9tbXUuYyAgICAg ICB8ICAyICstCiAxNiBmaWxlcyBjaGFuZ2VkLCA0MiBpbnNlcnRpb25zKCspLCA0NiBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vcDJtLmMgYi94ZW4vYXJjaC9hcm0vcDJt LmMKaW5kZXggZTI4ZWExYzg1YS4uYzVjZWEyNWNhYSAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJt L3AybS5jCisrKyBiL3hlbi9hcmNoL2FybS9wMm0uYwpAQCAtMTUzMSw4ICsxNTMxLDcgQEAgaW50 IHAybV9pbml0KHN0cnVjdCBkb21haW4gKmQpCiAgICAgICogc2hhcmVkIHdpdGggdGhlIENQVSwg WGVuIGhhcyB0byBtYWtlIHN1cmUgdGhhdCB0aGUgUFQgY2hhbmdlcyBoYXZlCiAgICAgICogcmVh Y2hlZCB0aGUgbWVtb3J5CiAgICAgICovCi0gICAgcDJtLT5jbGVhbl9wdGUgPSBpb21tdV9lbmFi bGVkICYmCi0gICAgICAgICFpb21tdV9oYXNfZmVhdHVyZShkLCBJT01NVV9GRUFUX0NPSEVSRU5U X1dBTEspOworICAgIHAybS0+Y2xlYW5fcHRlID0gIWlvbW11X2hhc19mZWF0dXJlKGQsIElPTU1V X0ZFQVRfQ09IRVJFTlRfV0FMSyk7CiAKICAgICByYyA9IHAybV9hbGxvY190YWJsZShkKTsKIApk aWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2RvbTBfYnVpbGQuYyBiL3hlbi9hcmNoL3g4Ni9kb20w X2J1aWxkLmMKaW5kZXggYzY5NTcwOTIwYy4uZDM4MTc4NGVkZCAxMDA2NDQKLS0tIGEveGVuL2Fy Y2gveDg2L2RvbTBfYnVpbGQuYworKysgYi94ZW4vYXJjaC94ODYvZG9tMF9idWlsZC5jCkBAIC0z NTYsNyArMzU2LDcgQEAgdW5zaWduZWQgbG9uZyBfX2luaXQgZG9tMF9jb21wdXRlX25yX3BhZ2Vz KAogICAgICAgICBhdmFpbCAtPSBkLT5tYXhfdmNwdXMgLSAxOwogCiAgICAgLyogUmVzZXJ2ZSBt ZW1vcnkgZm9yIGlvbW11X2RvbTBfaW5pdCgpIChyb3VnaCBlc3RpbWF0ZSkuICovCi0gICAgaWYg KCBpb21tdV9lbmFibGVkICkKKyAgICBpZiAoIGlzX2lvbW11X2VuYWJsZWQoZCkgKQogICAgIHsK ICAgICAgICAgdW5zaWduZWQgaW50IHM7CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9kb21j dGwuYyBiL3hlbi9hcmNoL3g4Ni9kb21jdGwuYwppbmRleCAyZDQ1ZTViOGE4Li5iZTRiMjA2MDY4 IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvZG9tY3RsLmMKKysrIGIveGVuL2FyY2gveDg2L2Rv bWN0bC5jCkBAIC03MTUsNyArNzE1LDcgQEAgbG9uZyBhcmNoX2RvX2RvbWN0bCgKICAgICAgICAg ICAgIGJyZWFrOwogCiAgICAgICAgIHJldCA9IC1FU1JDSDsKLSAgICAgICAgaWYgKCBpb21tdV9l bmFibGVkICkKKyAgICAgICAgaWYgKCBpc19pb21tdV9lbmFibGVkKGQpICkKICAgICAgICAgewog ICAgICAgICAgICAgcGNpZGV2c19sb2NrKCk7CiAgICAgICAgICAgICByZXQgPSBwdF9pcnFfY3Jl YXRlX2JpbmQoZCwgYmluZCk7CkBAIC03NDQsNyArNzQ0LDcgQEAgbG9uZyBhcmNoX2RvX2RvbWN0 bCgKICAgICAgICAgaWYgKCByZXQgKQogICAgICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgaWYg KCBpb21tdV9lbmFibGVkICkKKyAgICAgICAgaWYgKCBpc19pb21tdV9lbmFibGVkKGQpICkKICAg ICAgICAgewogICAgICAgICAgICAgcGNpZGV2c19sb2NrKCk7CiAgICAgICAgICAgICByZXQgPSBw dF9pcnFfZGVzdHJveV9iaW5kKGQsIGJpbmQpOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2 bS9odm0uYyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKaW5kZXggMDI5ZWVhM2I4NS4uMTcyYzg2 MGFjYyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9odm0uYworKysgYi94ZW4vYXJjaC94 ODYvaHZtL2h2bS5jCkBAIC00NjUsNyArNDY1LDcgQEAgdm9pZCBodm1fbWlncmF0ZV90aW1lcnMo c3RydWN0IHZjcHUgKnYpCiAKIHZvaWQgaHZtX21pZ3JhdGVfcGlycShzdHJ1Y3QgaHZtX3BpcnFf ZHBjaSAqcGlycV9kcGNpLCBjb25zdCBzdHJ1Y3QgdmNwdSAqdikKIHsKLSAgICBBU1NFUlQoaW9t bXVfZW5hYmxlZCAmJgorICAgIEFTU0VSVChpc19pb21tdV9lbmFibGVkKHYtPmRvbWFpbikgJiYK ICAgICAgICAgICAgKGlzX2hhcmR3YXJlX2RvbWFpbih2LT5kb21haW4pIHx8IGh2bV9kb21haW5f aXJxKHYtPmRvbWFpbiktPmRwY2kpKTsKIAogICAgIGlmICggKHBpcnFfZHBjaS0+ZmxhZ3MgJiBI Vk1fSVJRX0RQQ0lfTUFDSF9NU0kpICYmCkBAIC00OTYsNyArNDk2LDcgQEAgdm9pZCBodm1fbWln cmF0ZV9waXJxcyhzdHJ1Y3QgdmNwdSAqdikKIHsKICAgICBzdHJ1Y3QgZG9tYWluICpkID0gdi0+ ZG9tYWluOwogCi0gICAgaWYgKCAhaW9tbXVfZW5hYmxlZCB8fCAhaHZtX2RvbWFpbl9pcnEoZCkt PmRwY2kgKQorICAgIGlmICggIWlzX2lvbW11X2VuYWJsZWQoZCkgfHwgIWh2bV9kb21haW5faXJx KGQpLT5kcGNpICkKICAgICAgICByZXR1cm47CiAKICAgICBzcGluX2xvY2soJmQtPmV2ZW50X2xv Y2spOwpAQCAtMjI2NCw3ICsyMjY0LDcgQEAgaW50IGh2bV9zZXRfY3IwKHVuc2lnbmVkIGxvbmcg dmFsdWUsIGJvb2wgbWF5X2RlZmVyKQogICAgIH0KIAogICAgIGlmICggKCh2YWx1ZSBeIG9sZF92 YWx1ZSkgJiBYODZfQ1IwX0NEKSAmJgotICAgICAgICAgaW9tbXVfZW5hYmxlZCAmJiBodm1fZnVu Y3MuaGFuZGxlX2NkICYmCisgICAgICAgICBpc19pb21tdV9lbmFibGVkKGQpICYmIGh2bV9mdW5j cy5oYW5kbGVfY2QgJiYKICAgICAgICAgICghcmFuZ2VzZXRfaXNfZW1wdHkoZC0+aW9tZW1fY2Fw cykgfHwKICAgICAgICAgICAhcmFuZ2VzZXRfaXNfZW1wdHkoZC0+YXJjaC5pb3BvcnRfY2Fwcykg fHwKICAgICAgICAgICBoYXNfYXJjaF9wZGV2cyhkKSkgKQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gv eDg2L2h2bS92aW9hcGljLmMgYi94ZW4vYXJjaC94ODYvaHZtL3Zpb2FwaWMuYwppbmRleCA5YzI1 ZjcyYjRkLi45YWVlZjMyYTE0IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL3Zpb2FwaWMu YworKysgYi94ZW4vYXJjaC94ODYvaHZtL3Zpb2FwaWMuYwpAQCAtNTM2LDcgKzUzNiw3IEBAIHZv aWQgdmlvYXBpY191cGRhdGVfRU9JKHN0cnVjdCBkb21haW4gKmQsIHU4IHZlY3RvcikKIAogICAg ICAgICAgICAgZW50LT5maWVsZHMucmVtb3RlX2lyciA9IDA7CiAKLSAgICAgICAgICAgIGlmICgg aW9tbXVfZW5hYmxlZCApCisgICAgICAgICAgICBpZiAoIGlzX2lvbW11X2VuYWJsZWQoZCkgKQog ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIHNwaW5fdW5sb2NrKCZkLT5hcmNoLmh2bS5p cnFfbG9jayk7CiAgICAgICAgICAgICAgICAgaHZtX2RwY2lfZW9pKGQsIHZpb2FwaWMtPmJhc2Vf Z3NpICsgcGluLCBlbnQpOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS92bXgvdm1jcy5j IGIveGVuL2FyY2gveDg2L2h2bS92bXgvdm1jcy5jCmluZGV4IDQ1ZDE4NDkzZGYuLjk4NTBkYTQ2 MGEgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZtY3MuYworKysgYi94ZW4vYXJj aC94ODYvaHZtL3ZteC92bWNzLmMKQEAgLTEwODcsNyArMTA4Nyw3IEBAIHN0YXRpYyBpbnQgY29u c3RydWN0X3ZtY3Moc3RydWN0IHZjcHUgKnYpCiAgICAgICAgIHZteF9jbGVhcl9tc3JfaW50ZXJj ZXB0KHYsIE1TUl9JQTMyX1NZU0VOVEVSX0NTLCBWTVhfTVNSX1JXKTsKICAgICAgICAgdm14X2Ns ZWFyX21zcl9pbnRlcmNlcHQodiwgTVNSX0lBMzJfU1lTRU5URVJfRVNQLCBWTVhfTVNSX1JXKTsK ICAgICAgICAgdm14X2NsZWFyX21zcl9pbnRlcmNlcHQodiwgTVNSX0lBMzJfU1lTRU5URVJfRUlQ LCBWTVhfTVNSX1JXKTsKLSAgICAgICAgaWYgKCBwYWdpbmdfbW9kZV9oYXAoZCkgJiYgKCFpb21t dV9lbmFibGVkIHx8IGlvbW11X3Nub29wKSApCisgICAgICAgIGlmICggcGFnaW5nX21vZGVfaGFw KGQpICYmICghaXNfaW9tbXVfZW5hYmxlZChkKSB8fCBpb21tdV9zbm9vcCkgKQogICAgICAgICAg ICAgdm14X2NsZWFyX21zcl9pbnRlcmNlcHQodiwgTVNSX0lBMzJfQ1JfUEFULCBWTVhfTVNSX1JX KTsKICAgICAgICAgaWYgKCAodm1leGl0X2N0bCAmIFZNX0VYSVRfQ0xFQVJfQk5EQ0ZHUykgJiYK ICAgICAgICAgICAgICAodm1lbnRyeV9jdGwgJiBWTV9FTlRSWV9MT0FEX0JORENGR1MpICkKZGlm ZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jIGIveGVuL2FyY2gveDg2L2h2bS92 bXgvdm14LmMKaW5kZXggMDA2MDMxMGQ3NC4uM2IzZDViNjI1MCAxMDA2NDQKLS0tIGEveGVuL2Fy Y2gveDg2L2h2bS92bXgvdm14LmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMKQEAg LTEyMTAsNyArMTIxMCw3IEBAIHN0YXRpYyB2b2lkIHZteF9oYW5kbGVfY2Qoc3RydWN0IHZjcHUg KnYsIHVuc2lnbmVkIGxvbmcgdmFsdWUpCiAgICAgICAgIHsKICAgICAgICAgICAgIHYtPmFyY2gu aHZtLmNhY2hlX21vZGUgPSBOT1JNQUxfQ0FDSEVfTU9ERTsKICAgICAgICAgICAgIHZteF9zZXRf Z3Vlc3RfcGF0KHYsICpwYXQpOwotICAgICAgICAgICAgaWYgKCAhaW9tbXVfZW5hYmxlZCB8fCBp b21tdV9zbm9vcCApCisgICAgICAgICAgICBpZiAoICFpc19pb21tdV9lbmFibGVkKHYtPmRvbWFp bikgfHwgaW9tbXVfc25vb3AgKQogICAgICAgICAgICAgICAgIHZteF9jbGVhcl9tc3JfaW50ZXJj ZXB0KHYsIE1TUl9JQTMyX0NSX1BBVCwgVk1YX01TUl9SVyk7CiAgICAgICAgICAgICBodm1fYXNp ZF9mbHVzaF92Y3B1KHYpOyAvKiBubyBuZWVkIHRvIGZsdXNoIGNhY2hlICovCiAgICAgICAgIH0K ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0tZXB0LmMgYi94ZW4vYXJjaC94ODYvbW0v cDJtLWVwdC5jCmluZGV4IDZiODQ2OGM3OTMuLmVmMTQyM2ZlMmQgMTAwNjQ0Ci0tLSBhL3hlbi9h cmNoL3g4Ni9tbS9wMm0tZXB0LmMKKysrIGIveGVuL2FyY2gveDg2L21tL3AybS1lcHQuYwpAQCAt MjYwLDcgKzI2MCw3IEBAIHN0YXRpYyBib29sX3QgZXB0X3NwbGl0X3N1cGVyX3BhZ2Uoc3RydWN0 IHAybV9kb21haW4gKnAybSwKICAgICAgICAgKmVwdGUgPSAqZXB0X2VudHJ5OwogICAgICAgICBl cHRlLT5zcCA9IChsZXZlbCA+IDEpOwogICAgICAgICBlcHRlLT5tZm4gKz0gaSAqIHRydW5rOwot ICAgICAgICBlcHRlLT5zbnAgPSAoaW9tbXVfZW5hYmxlZCAmJiBpb21tdV9zbm9vcCk7CisgICAg ICAgIGVwdGUtPnNucCA9IGlzX2lvbW11X2VuYWJsZWQocDJtLT5kb21haW4pICYmIGlvbW11X3Nu b29wOwogICAgICAgICBlcHRlLT5zdXBwcmVzc192ZSA9IDE7CiAKICAgICAgICAgZXB0X3AybV90 eXBlX3RvX2ZsYWdzKHAybSwgZXB0ZSwgZXB0ZS0+c2FfcDJtdCwgZXB0ZS0+YWNjZXNzKTsKQEAg LTc2Niw3ICs3NjYsNyBAQCBlcHRfc2V0X2VudHJ5KHN0cnVjdCBwMm1fZG9tYWluICpwMm0sIGdm bl90IGdmbl8sIG1mbl90IG1mbiwKICAgICAgICAgbmV3X2VudHJ5LnNwID0gISFpOwogICAgICAg ICBuZXdfZW50cnkuc2FfcDJtdCA9IHAybXQ7CiAgICAgICAgIG5ld19lbnRyeS5hY2Nlc3MgPSBw Mm1hOwotICAgICAgICBuZXdfZW50cnkuc25wID0gKGlvbW11X2VuYWJsZWQgJiYgaW9tbXVfc25v b3ApOworICAgICAgICBuZXdfZW50cnkuc25wID0gaXNfaW9tbXVfZW5hYmxlZChwMm0tPmRvbWFp bikgJiYgaW9tbXVfc25vb3A7CiAKICAgICAgICAgLyogdGhlIGNhbGxlciBzaG91bGQgdGFrZSBj YXJlIG9mIHRoZSBwcmV2aW91cyBwYWdlICovCiAgICAgICAgIG5ld19lbnRyeS5tZm4gPSBtZm5f eChtZm4pOwpkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X2d1 ZXN0LmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfZ3Vlc3QuYwppbmRleCAz MjhlNzUwOWQ1Li41ZmMzYjFhNTZjIDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3Vn aC9hbWQvaW9tbXVfZ3Vlc3QuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9t bXVfZ3Vlc3QuYwpAQCAtODU3LDcgKzg1Nyw3IEBAIGludCBndWVzdF9pb21tdV9pbml0KHN0cnVj dCBkb21haW4qIGQpCiAgICAgc3RydWN0IGd1ZXN0X2lvbW11ICppb21tdTsKICAgICBzdHJ1Y3Qg ZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShkKTsKIAotICAgIGlmICggIWlzX2h2bV9kb21h aW4oZCkgfHwgIWlvbW11X2VuYWJsZWQgfHwgIWlvbW11djJfZW5hYmxlZCB8fAorICAgIGlmICgg IWlzX2h2bV9kb21haW4oZCkgfHwgIWlzX2lvbW11X2VuYWJsZWQoZCkgfHwgIWlvbW11djJfZW5h YmxlZCB8fAogICAgICAgICAgIWhhc192aW9tbXUoZCkgKQogICAgICAgICByZXR1cm4gMDsKIApk aWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvZGV2aWNlX3RyZWUuYyBiL3hlbi9k cml2ZXJzL3Bhc3N0aHJvdWdoL2RldmljZV90cmVlLmMKaW5kZXggZDMyYjE3MjY2NC4uMTJmMmM0 YzNmMiAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvZGV2aWNlX3RyZWUuYwor KysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9kZXZpY2VfdHJlZS5jCkBAIC0yOSw3ICsyOSw3 IEBAIGludCBpb21tdV9hc3NpZ25fZHRfZGV2aWNlKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCBk dF9kZXZpY2Vfbm9kZSAqZGV2KQogICAgIGludCByYyA9IC1FQlVTWTsKICAgICBzdHJ1Y3QgZG9t YWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShkKTsKIAotICAgIGlmICggIWlvbW11X2VuYWJsZWQg fHwgIWhkLT5wbGF0Zm9ybV9vcHMgKQorICAgIGlmICggIWlzX2lvbW11X2VuYWJsZWQoZCkgKQog ICAgICAgICByZXR1cm4gLUVJTlZBTDsKIAogICAgIGlmICggIWR0X2RldmljZV9pc19wcm90ZWN0 ZWQoZGV2KSApCkBAIC03MSw3ICs3MSw3IEBAIGludCBpb21tdV9kZWFzc2lnbl9kdF9kZXZpY2Uo c3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IGR0X2RldmljZV9ub2RlICpkZXYpCiAgICAgY29uc3Qg c3RydWN0IGRvbWFpbl9pb21tdSAqaGQgPSBkb21faW9tbXUoZCk7CiAgICAgaW50IHJjOwogCi0g ICAgaWYgKCAhaW9tbXVfZW5hYmxlZCB8fCAhaGQtPnBsYXRmb3JtX29wcyApCisgICAgaWYgKCAh aXNfaW9tbXVfZW5hYmxlZChkKSApCiAgICAgICAgIHJldHVybiAtRUlOVkFMOwogCiAgICAgaWYg KCAhZHRfZGV2aWNlX2lzX3Byb3RlY3RlZChkZXYpICkKZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJz L3Bhc3N0aHJvdWdoL2lvLmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pby5jCmluZGV4IDQy OTBjN2M3MTAuLmIyOTJlNzkzODIgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo L2lvLmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW8uYwpAQCAtNDM0LDcgKzQzNCw3 IEBAIGludCBwdF9pcnFfY3JlYXRlX2JpbmQoCiAgICAgICAgICAgICBpZiAoIHZjcHUgKQogICAg ICAgICAgICAgICAgIHBpcnFfZHBjaS0+Z21zaS5wb3N0ZWQgPSB0cnVlOwogICAgICAgICB9Ci0g ICAgICAgIGlmICggdmNwdSAmJiBpb21tdV9lbmFibGVkICkKKyAgICAgICAgaWYgKCB2Y3B1ICYm IGlzX2lvbW11X2VuYWJsZWQoZCkgKQogICAgICAgICAgICAgaHZtX21pZ3JhdGVfcGlycShwaXJx X2RwY2ksIHZjcHUpOwogCiAgICAgICAgIC8qIFVzZSBpbnRlcnJ1cHQgcG9zdGluZyBpZiBpdCBp cyBzdXBwb3J0ZWQuICovCkBAIC04MTcsNyArODE3LDcgQEAgaW50IGh2bV9kb19JUlFfZHBjaShz dHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgcGlycSAqcGlycSkKIAogICAgIEFTU0VSVChpc19odm1f ZG9tYWluKGQpKTsKIAotICAgIGlmICggIWlvbW11X2VuYWJsZWQgfHwgKCFpc19oYXJkd2FyZV9k b21haW4oZCkgJiYgIWRwY2kpIHx8CisgICAgaWYgKCAhaXNfaW9tbXVfZW5hYmxlZChkKSB8fCAo IWlzX2hhcmR3YXJlX2RvbWFpbihkKSAmJiAhZHBjaSkgfHwKICAgICAgICAgICFwaXJxX2RwY2kg fHwgIShwaXJxX2RwY2ktPmZsYWdzICYgSFZNX0lSUV9EUENJX01BUFBFRCkgKQogICAgICAgICBy ZXR1cm4gMDsKIApAQCAtODY5LDcgKzg2OSw3IEBAIHN0YXRpYyBpbnQgX2h2bV9kcGNpX21zaV9l b2koc3RydWN0IGRvbWFpbiAqZCwKIAogdm9pZCBodm1fZHBjaV9tc2lfZW9pKHN0cnVjdCBkb21h aW4gKmQsIGludCB2ZWN0b3IpCiB7Ci0gICAgaWYgKCAhaW9tbXVfZW5hYmxlZCB8fAorICAgIGlm ICggIWlzX2lvbW11X2VuYWJsZWQoZCkgfHwKICAgICAgICAgICghaHZtX2RvbWFpbl9pcnEoZCkt PmRwY2kgJiYgIWlzX2hhcmR3YXJlX2RvbWFpbihkKSkgKQogICAgICAgIHJldHVybjsKIApAQCAt MTAwMSw3ICsxMDAxLDcgQEAgdm9pZCBodm1fZHBjaV9lb2koc3RydWN0IGRvbWFpbiAqZCwgdW5z aWduZWQgaW50IGd1ZXN0X2dzaSwKICAgICBjb25zdCBzdHJ1Y3QgaHZtX2lycV9kcGNpICpodm1f aXJxX2RwY2k7CiAgICAgY29uc3Qgc3RydWN0IGh2bV9naXJxX2RwY2lfbWFwcGluZyAqZ2lycTsK IAotICAgIGlmICggIWlvbW11X2VuYWJsZWQgKQorICAgIGlmICggIWlzX2lvbW11X2VuYWJsZWQo ZCkgKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAoIGlzX2hhcmR3YXJlX2RvbWFpbihkKSAp CmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5jIGIveGVuL2RyaXZl cnMvcGFzc3Rocm91Z2gvaW9tbXUuYwppbmRleCAwYTAwMjc5MDY3Li5kMDIwMGQ4MmYwIDEwMDY0 NAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5jCisrKyBiL3hlbi9kcml2ZXJz L3Bhc3N0aHJvdWdoL2lvbW11LmMKQEAgLTE3OSw3ICsxNzksNyBAQCB2b2lkIF9faHdkb21faW5p dCBpb21tdV9od2RvbV9pbml0KHN0cnVjdCBkb21haW4gKmQpCiAKICAgICBjaGVja19od2RvbV9y ZXFzKGQpOwogCi0gICAgaWYgKCAhaW9tbXVfZW5hYmxlZCApCisgICAgaWYgKCAhaXNfaW9tbXVf ZW5hYmxlZChkKSApCiAgICAgICAgIHJldHVybjsKIAogICAgIHJlZ2lzdGVyX2tleWhhbmRsZXIo J28nLCAmaW9tbXVfZHVtcF9wMm1fdGFibGUsICJkdW1wIGlvbW11IHAybSB0YWJsZSIsIDApOwpA QCAtMjg0LDcgKzI4NCw3IEBAIGludCBpb21tdV9jb25zdHJ1Y3Qoc3RydWN0IGRvbWFpbiAqZCkK IAogdm9pZCBpb21tdV9kb21haW5fZGVzdHJveShzdHJ1Y3QgZG9tYWluICpkKQogewotICAgIGlm ICggIWlvbW11X2VuYWJsZWQgfHwgIWRvbV9pb21tdShkKS0+cGxhdGZvcm1fb3BzICkKKyAgICBp ZiAoICFpc19pb21tdV9lbmFibGVkKGQpICkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaW9tbXVf dGVhcmRvd24oZCk7CkBAIC0zMDAsNyArMzAwLDcgQEAgaW50IGlvbW11X21hcChzdHJ1Y3QgZG9t YWluICpkLCBkZm5fdCBkZm4sIG1mbl90IG1mbiwKICAgICB1bnNpZ25lZCBsb25nIGk7CiAgICAg aW50IHJjID0gMDsKIAotICAgIGlmICggIWlvbW11X2VuYWJsZWQgfHwgIWhkLT5wbGF0Zm9ybV9v cHMgKQorICAgIGlmICggIWlzX2lvbW11X2VuYWJsZWQoZCkgKQogICAgICAgICByZXR1cm4gMDsK IAogICAgIEFTU0VSVChJU19BTElHTkVEKGRmbl94KGRmbiksICgxdWwgPDwgcGFnZV9vcmRlcikp KTsKQEAgLTM2MCw3ICszNjAsNyBAQCBpbnQgaW9tbXVfdW5tYXAoc3RydWN0IGRvbWFpbiAqZCwg ZGZuX3QgZGZuLCB1bnNpZ25lZCBpbnQgcGFnZV9vcmRlciwKICAgICB1bnNpZ25lZCBsb25nIGk7 CiAgICAgaW50IHJjID0gMDsKIAotICAgIGlmICggIWlvbW11X2VuYWJsZWQgfHwgIWhkLT5wbGF0 Zm9ybV9vcHMgKQorICAgIGlmICggIWlzX2lvbW11X2VuYWJsZWQoZCkgKQogICAgICAgICByZXR1 cm4gMDsKIAogICAgIEFTU0VSVChJU19BTElHTkVEKGRmbl94KGRmbiksICgxdWwgPDwgcGFnZV9v cmRlcikpKTsKQEAgLTQxMyw3ICs0MTMsNyBAQCBpbnQgaW9tbXVfbG9va3VwX3BhZ2Uoc3RydWN0 IGRvbWFpbiAqZCwgZGZuX3QgZGZuLCBtZm5fdCAqbWZuLAogewogICAgIGNvbnN0IHN0cnVjdCBk b21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGQpOwogCi0gICAgaWYgKCAhaW9tbXVfZW5hYmxl ZCB8fCAhaGQtPnBsYXRmb3JtX29wcyB8fCAhaGQtPnBsYXRmb3JtX29wcy0+bG9va3VwX3BhZ2Ug KQorICAgIGlmICggIWlzX2lvbW11X2VuYWJsZWQoZCkgfHwgIWhkLT5wbGF0Zm9ybV9vcHMtPmxv b2t1cF9wYWdlICkKICAgICAgICAgcmV0dXJuIC1FT1BOT1RTVVBQOwogCiAgICAgcmV0dXJuIGlv bW11X2NhbGwoaGQtPnBsYXRmb3JtX29wcywgbG9va3VwX3BhZ2UsIGQsIGRmbiwgbWZuLCBmbGFn cyk7CkBAIC00NDIsOCArNDQyLDggQEAgaW50IGlvbW11X2lvdGxiX2ZsdXNoKHN0cnVjdCBkb21h aW4gKmQsIGRmbl90IGRmbiwgdW5zaWduZWQgaW50IHBhZ2VfY291bnQsCiAgICAgY29uc3Qgc3Ry dWN0IGRvbWFpbl9pb21tdSAqaGQgPSBkb21faW9tbXUoZCk7CiAgICAgaW50IHJjOwogCi0gICAg aWYgKCAhaW9tbXVfZW5hYmxlZCB8fCAhaGQtPnBsYXRmb3JtX29wcyB8fAotICAgICAgICAgIWhk LT5wbGF0Zm9ybV9vcHMtPmlvdGxiX2ZsdXNoIHx8ICFwYWdlX2NvdW50IHx8ICFmbHVzaF9mbGFn cyApCisgICAgaWYgKCAhaXNfaW9tbXVfZW5hYmxlZChkKSB8fCAhaGQtPnBsYXRmb3JtX29wcy0+ aW90bGJfZmx1c2ggfHwKKyAgICAgICAgICFwYWdlX2NvdW50IHx8ICFmbHVzaF9mbGFncyApCiAg ICAgICAgIHJldHVybiAwOwogCiAgICAgaWYgKCBkZm5fZXEoZGZuLCBJTlZBTElEX0RGTikgKQpA QCAtNDcwLDggKzQ3MCw4IEBAIGludCBpb21tdV9pb3RsYl9mbHVzaF9hbGwoc3RydWN0IGRvbWFp biAqZCwgdW5zaWduZWQgaW50IGZsdXNoX2ZsYWdzKQogICAgIGNvbnN0IHN0cnVjdCBkb21haW5f aW9tbXUgKmhkID0gZG9tX2lvbW11KGQpOwogICAgIGludCByYzsKIAotICAgIGlmICggIWlvbW11 X2VuYWJsZWQgfHwgIWhkLT5wbGF0Zm9ybV9vcHMgfHwKLSAgICAgICAgICFoZC0+cGxhdGZvcm1f b3BzLT5pb3RsYl9mbHVzaF9hbGwgfHwgIWZsdXNoX2ZsYWdzICkKKyAgICBpZiAoICFpc19pb21t dV9lbmFibGVkKGQpIHx8ICFoZC0+cGxhdGZvcm1fb3BzLT5pb3RsYl9mbHVzaF9hbGwgfHwKKyAg ICAgICAgICFmbHVzaF9mbGFncyApCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgLyoKQEAgLTU1 Niw3ICs1NTYsNyBAQCBpbnQgaW9tbXVfZG9fZG9tY3RsKAogewogICAgIGludCByZXQgPSAtRU5P REVWOwogCi0gICAgaWYgKCAhaW9tbXVfZW5hYmxlZCApCisgICAgaWYgKCAhaXNfaW9tbXVfZW5h YmxlZChkKSApCiAgICAgICAgIHJldHVybiAtRU5PU1lTOwogCiAjaWZkZWYgQ09ORklHX0hBU19Q Q0kKQEAgLTU3Niw5ICs1NzYsOSBAQCB2b2lkIGlvbW11X3NoYXJlX3AybV90YWJsZShzdHJ1Y3Qg ZG9tYWluKiBkKQogICAgIEFTU0VSVChoYXBfZW5hYmxlZChkKSk7CiAgICAgLyoKICAgICAgKiBp b21tdV91c2VfaGFwX3B0KGQpIGNhbm5vdCBiZSB1c2VkIGhlcmUgYmVjYXVzZSBkdXJpbmcgZG9t YWluCi0gICAgICogY29uc3RydWN0aW9uIG5lZWRfaW9tbXUoZCkgd2lsbCBhbHdheXMgcmV0dXJu IGZhbHNlIGhlcmUuCisgICAgICogY29uc3RydWN0aW9uIGhhc19pb21tdV9wdChkKSB3aWxsIGFs d2F5cyByZXR1cm4gZmFsc2UgaGVyZS4KICAgICAgKi8KLSAgICBpZiAoIGlvbW11X2VuYWJsZWQg JiYgaW9tbXVfaGFwX3B0X3NoYXJlICkKKyAgICBpZiAoIGlzX2lvbW11X2VuYWJsZWQoZCkgJiYg aW9tbXVfaGFwX3B0X3NoYXJlICkKICAgICAgICAgaW9tbXVfZ2V0X29wcygpLT5zaGFyZV9wMm0o ZCk7CiB9CiAKQEAgLTYwOCwxMCArNjA4LDcgQEAgaW50IGlvbW11X2dldF9yZXNlcnZlZF9kZXZp Y2VfbWVtb3J5KGlvbW11X2dyZG1fdCAqZnVuYywgdm9pZCAqY3R4dCkKIAogYm9vbF90IGlvbW11 X2hhc19mZWF0dXJlKHN0cnVjdCBkb21haW4gKmQsIGVudW0gaW9tbXVfZmVhdHVyZSBmZWF0dXJl KQogewotICAgIGlmICggIWlvbW11X2VuYWJsZWQgKQotICAgICAgICByZXR1cm4gMDsKLQotICAg IHJldHVybiB0ZXN0X2JpdChmZWF0dXJlLCBkb21faW9tbXUoZCktPmZlYXR1cmVzKTsKKyAgICBy ZXR1cm4gaXNfaW9tbXVfZW5hYmxlZChkKSAmJiB0ZXN0X2JpdChmZWF0dXJlLCBkb21faW9tbXUo ZCktPmZlYXR1cmVzKTsKIH0KIAogc3RhdGljIHZvaWQgaW9tbXVfZHVtcF9wMm1fdGFibGUodW5z aWduZWQgY2hhciBrZXkpCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9wY2ku YyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3BjaS5jCmluZGV4IDdjMTk2YmE1OGIuLjYxYjVi MzMwY2EgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3BjaS5jCisrKyBiL3hl bi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3BjaS5jCkBAIC04NjQsNyArODY0LDcgQEAgc3RhdGljIGlu dCBwY2lfY2xlYW5fZHBjaV9pcnFzKHN0cnVjdCBkb21haW4gKmQpCiB7CiAgICAgc3RydWN0IGh2 bV9pcnFfZHBjaSAqaHZtX2lycV9kcGNpID0gTlVMTDsKIAotICAgIGlmICggIWlvbW11X2VuYWJs ZWQgKQorICAgIGlmICggIWlzX2lvbW11X2VuYWJsZWQoZCkgKQogICAgICAgICByZXR1cm4gMDsK IAogICAgIGlmICggIWlzX2h2bV9kb21haW4oZCkgKQpAQCAtMTMzMyw3ICsxMzMzLDcgQEAgc3Rh dGljIGludCBpb21tdV9hZGRfZGV2aWNlKHN0cnVjdCBwY2lfZGV2ICpwZGV2KQogICAgIEFTU0VS VChwY2lkZXZzX2xvY2tlZCgpKTsKIAogICAgIGhkID0gZG9tX2lvbW11KHBkZXYtPmRvbWFpbik7 Ci0gICAgaWYgKCAhaW9tbXVfZW5hYmxlZCB8fCAhaGQtPnBsYXRmb3JtX29wcyApCisgICAgaWYg KCAhaXNfaW9tbXVfZW5hYmxlZChwZGV2LT5kb21haW4pICkKICAgICAgICAgcmV0dXJuIDA7CiAK ICAgICByYyA9IGhkLT5wbGF0Zm9ybV9vcHMtPmFkZF9kZXZpY2UocGRldi0+ZGV2Zm4sIHBjaV90 b19kZXYocGRldikpOwpAQCAtMTM2Miw3ICsxMzYyLDcgQEAgc3RhdGljIGludCBpb21tdV9lbmFi bGVfZGV2aWNlKHN0cnVjdCBwY2lfZGV2ICpwZGV2KQogICAgIEFTU0VSVChwY2lkZXZzX2xvY2tl ZCgpKTsKIAogICAgIGhkID0gZG9tX2lvbW11KHBkZXYtPmRvbWFpbik7Ci0gICAgaWYgKCAhaW9t bXVfZW5hYmxlZCB8fCAhaGQtPnBsYXRmb3JtX29wcyB8fAorICAgIGlmICggIWlzX2lvbW11X2Vu YWJsZWQocGRldi0+ZG9tYWluKSB8fAogICAgICAgICAgIWhkLT5wbGF0Zm9ybV9vcHMtPmVuYWJs ZV9kZXZpY2UgKQogICAgICAgICByZXR1cm4gMDsKIApAQCAtMTM3OCw3ICsxMzc4LDcgQEAgc3Rh dGljIGludCBpb21tdV9yZW1vdmVfZGV2aWNlKHN0cnVjdCBwY2lfZGV2ICpwZGV2KQogICAgICAg ICByZXR1cm4gLUVJTlZBTDsKIAogICAgIGhkID0gZG9tX2lvbW11KHBkZXYtPmRvbWFpbik7Ci0g ICAgaWYgKCAhaW9tbXVfZW5hYmxlZCB8fCAhaGQtPnBsYXRmb3JtX29wcyApCisgICAgaWYgKCAh aXNfaW9tbXVfZW5hYmxlZChwZGV2LT5kb21haW4pICkKICAgICAgICAgcmV0dXJuIDA7CiAKICAg ICBmb3IgKCBkZXZmbiA9IHBkZXYtPmRldmZuIDsgcGRldi0+cGhhbnRvbV9zdHJpZGU7ICkKQEAg LTE0MjEsNyArMTQyMSw3IEBAIHN0YXRpYyBpbnQgYXNzaWduX2RldmljZShzdHJ1Y3QgZG9tYWlu ICpkLCB1MTYgc2VnLCB1OCBidXMsIHU4IGRldmZuLCB1MzIgZmxhZykKICAgICBzdHJ1Y3QgcGNp X2RldiAqcGRldjsKICAgICBpbnQgcmMgPSAwOwogCi0gICAgaWYgKCAhaW9tbXVfZW5hYmxlZCB8 fCAhaGQtPnBsYXRmb3JtX29wcyApCisgICAgaWYgKCAhaXNfaW9tbXVfZW5hYmxlZChkKSApCiAg ICAgICAgIHJldHVybiAwOwogCiAgICAgLyogUHJldmVudCBkZXZpY2UgYXNzaWduIGlmIG1lbSBw YWdpbmcgb3IgbWVtIHNoYXJpbmcgaGF2ZSBiZWVuIApAQCAtMTQ4Myw3ICsxNDgzLDcgQEAgaW50 IGRlYXNzaWduX2RldmljZShzdHJ1Y3QgZG9tYWluICpkLCB1MTYgc2VnLCB1OCBidXMsIHU4IGRl dmZuKQogICAgIHN0cnVjdCBwY2lfZGV2ICpwZGV2ID0gTlVMTDsKICAgICBpbnQgcmV0ID0gMDsK IAotICAgIGlmICggIWlvbW11X2VuYWJsZWQgfHwgIWhkLT5wbGF0Zm9ybV9vcHMgKQorICAgIGlm ICggIWlzX2lvbW11X2VuYWJsZWQoZCkgKQogICAgICAgICByZXR1cm4gLUVJTlZBTDsKIAogICAg IEFTU0VSVChwY2lkZXZzX2xvY2tlZCgpKTsKQEAgLTE1MzYsNyArMTUzNiw3IEBAIHN0YXRpYyBp bnQgaW9tbXVfZ2V0X2RldmljZV9ncm91cCgKICAgICBpbnQgaSA9IDA7CiAgICAgY29uc3Qgc3Ry dWN0IGlvbW11X29wcyAqb3BzID0gaGQtPnBsYXRmb3JtX29wczsKIAotICAgIGlmICggIWlvbW11 X2VuYWJsZWQgfHwgIW9wcyB8fCAhb3BzLT5nZXRfZGV2aWNlX2dyb3VwX2lkICkKKyAgICBpZiAo ICFpc19pb21tdV9lbmFibGVkKGQpIHx8ICFvcHMtPmdldF9kZXZpY2VfZ3JvdXBfaWQgKQogICAg ICAgICByZXR1cm4gMDsKIAogICAgIGdyb3VwX2lkID0gb3BzLT5nZXRfZGV2aWNlX2dyb3VwX2lk KHNlZywgYnVzLCBkZXZmbik7CmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92 dGQvaW9tbXUuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jCmluZGV4IDVk NzIyNzBjNWIuLjAxZjBiYzQ2ODkgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo L3Z0ZC9pb21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jCkBA IC0xNzU3LDcgKzE3NTcsNyBAQCBzdGF0aWMgdm9pZCBpb21tdV9kb21haW5fdGVhcmRvd24oc3Ry dWN0IGRvbWFpbiAqZCkKICAgICAgICAgeGZyZWUobXJtcnIpOwogICAgIH0KIAotICAgIEFTU0VS VChpb21tdV9lbmFibGVkKTsKKyAgICBBU1NFUlQoaXNfaW9tbXVfZW5hYmxlZChkKSk7CiAKICAg ICAvKgogICAgICAqIFdlIGNhbid0IHVzZSBpb21tdV91c2VfaGFwX3B0IGhlcmUgYmVjYXVzZSBl aXRoZXIgSU9NTVUgc3RhdGUKZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0 ZC94ODYvaHZtLmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQveDg2L2h2bS5jCmluZGV4 IDY2NzVkY2EwMjcuLmY3N2IzNTgxNWMgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJv dWdoL3Z0ZC94ODYvaHZtLmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL3g4Ni9o dm0uYwpAQCAtNTEsNyArNTEsNyBAQCB2b2lkIGh2bV9kcGNpX2lzYWlycV9lb2koc3RydWN0IGRv bWFpbiAqZCwgdW5zaWduZWQgaW50IGlzYWlycSkKICAgICBzdHJ1Y3QgaHZtX2lycV9kcGNpICpk cGNpID0gTlVMTDsKIAogICAgIEFTU0VSVChpc2FpcnEgPCBOUl9JU0FJUlFTKTsKLSAgICBpZiAo ICFpb21tdV9lbmFibGVkICkKKyAgICBpZiAoICFpc19pb21tdV9lbmFibGVkKGQpICkKICAgICAg ICAgcmV0dXJuOwogCiAgICAgc3Bpbl9sb2NrKCZkLT5ldmVudF9sb2NrKTsKZGlmZiAtLWdpdCBh L3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3g4Ni9pb21tdS5jIGIveGVuL2RyaXZlcnMvcGFzc3Ro cm91Z2gveDg2L2lvbW11LmMKaW5kZXggZmQwNTA3NWJiNS4uOTg3OTU1OGMxNyAxMDA2NDQKLS0t IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gveDg2L2lvbW11LmMKKysrIGIveGVuL2RyaXZlcnMv cGFzc3Rocm91Z2gveDg2L2lvbW11LmMKQEAgLTE3OCw3ICsxNzgsNyBAQCBpbnQgYXJjaF9pb21t dV9wb3B1bGF0ZV9wYWdlX3RhYmxlKHN0cnVjdCBkb21haW4gKmQpCiAKIHZvaWQgX19od2RvbV9p bml0IGFyY2hfaW9tbXVfY2hlY2tfYXV0b3RyYW5zbGF0ZWRfaHdkb20oc3RydWN0IGRvbWFpbiAq ZCkKIHsKLSAgICBpZiAoICFpb21tdV9lbmFibGVkICkKKyAgICBpZiAoICFpc19pb21tdV9lbmFi bGVkKGQpICkKICAgICAgICAgcGFuaWMoIlByZXNlbnRseSwgaW9tbXUgbXVzdCBiZSBlbmFibGVk IGZvciBQVkggaGFyZHdhcmUgZG9tYWluXG4iKTsKIH0KIAotLSAKMi4yMC4xLjIuZ2IyMWViYjY3 MQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8v bGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=