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=-8.4 required=3.0 tests=DKIM_ADSP_ALL,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 197CEC432C0 for ; Wed, 20 Nov 2019 12:09:40 +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 CB5F1224AE for ; Wed, 20 Nov 2019 12:09:39 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=amazon.com header.i=@amazon.com header.b="eAAdqjl+" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CB5F1224AE Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=amazon.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 1iXOnO-0004vn-KJ; Wed, 20 Nov 2019 12:09:18 +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 1iXOnN-0004vi-GK for xen-devel@lists.xenproject.org; Wed, 20 Nov 2019 12:09:17 +0000 X-Inumbo-ID: 9250d198-0b8e-11ea-a310-12813bfff9fa Received: from smtp-fw-33001.amazon.com (unknown [207.171.190.10]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 9250d198-0b8e-11ea-a310-12813bfff9fa; Wed, 20 Nov 2019 12:09:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1574251756; x=1605787756; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=fkjgxsz3JYpt8KNXfEebtVYSOlFcXVbUeZvMki1IoXs=; b=eAAdqjl+swr2maJY1GrlydSjYaKAO3/K5xjv4TGDMFgAofRSWRqRVHax YV1TR9nQTIdz+DqiwigQ2dPaa84SjjWLrr2MzjTdVF+oN/WCgpdwXPgDF WjKPVVPdP+nDUvwJDwtuM84V3DJoi3jnI7QDzX9mMctTl6e/16e3sQBr6 Q=; IronPort-SDR: 36HIpeX4fjMxYvB8l9OF0T24POXwWGBMJFGefmjJq7PSK78ohhDONvtWUS4pzwIh6QsglsDlBi C53/8cUTFjbw== X-IronPort-AV: E=Sophos;i="5.69,221,1571702400"; d="scan'208";a="10037037" Received: from sea32-co-svc-lb4-vlan3.sea.corp.amazon.com (HELO email-inbound-relay-2a-53356bf6.us-west-2.amazon.com) ([10.47.23.38]) by smtp-border-fw-out-33001.sea14.amazon.com with ESMTP; 20 Nov 2019 12:09:05 +0000 Received: from EX13MTAUEA001.ant.amazon.com (pdx4-ws-svc-p6-lb7-vlan2.pdx.amazon.com [10.170.41.162]) by email-inbound-relay-2a-53356bf6.us-west-2.amazon.com (Postfix) with ESMTPS id C06F8A1F40; Wed, 20 Nov 2019 12:09:04 +0000 (UTC) Received: from EX13D32EUC003.ant.amazon.com (10.43.164.24) by EX13MTAUEA001.ant.amazon.com (10.43.61.82) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Wed, 20 Nov 2019 12:09:04 +0000 Received: from EX13MTAUWA001.ant.amazon.com (10.43.160.58) by EX13D32EUC003.ant.amazon.com (10.43.164.24) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Wed, 20 Nov 2019 12:09:03 +0000 Received: from u2f063a87eabd5f.cbg10.amazon.com (10.125.106.135) by mail-relay.amazon.com (10.43.160.118) with Microsoft SMTP Server id 15.0.1367.3 via Frontend Transport; Wed, 20 Nov 2019 12:09:01 +0000 From: Paul Durrant To: Date: Wed, 20 Nov 2019 12:08:59 +0000 Message-ID: <20191120120859.1846-1-pdurrant@amazon.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Precedence: Bulk Subject: [Xen-devel] [PATCH] x86 / iommu: set up a scratch page in the quarantine domain X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Kevin Tian , Wei Liu , Andrew Cooper , Paul Durrant , 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" VGhpcyBwYXRjaCBpbnRyb2R1Y2VzIGEgbmV3IGlvbW11X29wIHRvIGZhY2lsaXRhdGUgYSBwZXIt aW1wbGVtZW50YXRpb24KcXVhcmFudGluZSBzZXQgdXAsIGFuZCB0aGVuIGZ1cnRoZXIgY29kZSBm b3IgeDg2IGltcGxlbWVudGF0aW9ucwooYW1kIGFuZCB2dGQpIHRvIHNldCB1cCBhIHJlYWQvd3Jv dGUgc2NyYXRjaCBwYWdlIHRvIHNlcnZlIGFzIHRoZSBzb3VyY2UvCnRhcmdldCBmb3IgYWxsIERN QSB3aGlsc3QgYSBkZXZpY2UgaXMgYXNzaWduZWQgdG8gZG9tX2lvLgoKVGhlIHJlYXNvbiBmb3Ig ZG9pbmcgdGhpcyBpcyB0aGF0IHNvbWUgaGFyZHdhcmUgbWF5IGNvbnRpbnVlIHRvIHJlLXRyeQpE TUEsIGRlc3BpdGUgRkxSLCBpbiB0aGUgZXZlbnQgb2YgYW4gZXJyb3IuIEhhdmluZyBhIHNjcmF0 Y2ggcGFnZSBtYXBwZWQKd2lsbCBhbGxvdyBwZW5kaW5nIERNQSB0byBkcmFpbiBhbmQgdGh1cyBx dWllc2NlIHN1Y2ggYnVnZ3kgaGFyZHdhcmUuCgpTaWduZWQtb2ZmLWJ5OiBQYXVsIER1cnJhbnQg PHBkdXJyYW50QGFtYXpvbi5jb20+Ci0tLQpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2Uu Y29tPgpDYzogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQ2M6IEtl dmluIFRpYW4gPGtldmluLnRpYW5AaW50ZWwuY29tPgpDYzogV2VpIExpdSA8d2xAeGVuLm9yZz4K Q2M6ICJSb2dlciBQYXUgTW9ubsOpIiA8cm9nZXIucGF1QGNpdHJpeC5jb20+Ci0tLQogeGVuL2Ry aXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X21hcC5jICAgICAgIHwgNTcgKysrKysrKysrKysr KysrCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvcGNpX2FtZF9pb21tdS5jICAgfCAgOSAr LS0KIHhlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMgICAgICAgICAgICAgICB8IDI1ICsr KysrKy0KIHhlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jICAgICAgICAgICB8IDcx ICsrKysrKysrKysrKysrKy0tLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2bS9hbWQtaW9t bXUtcHJvdG8uaCB8ICAyICsKIHhlbi9pbmNsdWRlL3hlbi9pb21tdS5oICAgICAgICAgICAgICAg ICAgICAgICB8ICAxICsKIDYgZmlsZXMgY2hhbmdlZCwgMTQzIGluc2VydGlvbnMoKyksIDIyIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21t dV9tYXAuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9tYXAuYwppbmRleCBj ZDVjN2RlN2M1Li44NDQwY2NmMWMxIDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3Vn aC9hbWQvaW9tbXVfbWFwLmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11 X21hcC5jCkBAIC01NjAsNiArNTYwLDYzIEBAIGludCBhbWRfaW9tbXVfcmVzZXJ2ZV9kb21haW5f dW5pdHlfbWFwKHN0cnVjdCBkb21haW4gKmRvbWFpbiwKICAgICByZXR1cm4gcnQ7CiB9CiAKK2lu dCBhbWRfaW9tbXVfcXVhcmFudGluZV9pbml0KHN0cnVjdCBkb21haW4gKmQpCit7CisgICAgc3Ry dWN0IGRvbWFpbl9pb21tdSAqaGQgPSBkb21faW9tbXUoZCk7CisgICAgdW5zaWduZWQgaW50IGxl dmVsOworICAgIHN0cnVjdCBhbWRfaW9tbXVfcHRlICp0YWJsZTsKKworICAgIGlmICggaGQtPmFy Y2gucm9vdF90YWJsZSApCisgICAgeworICAgICAgICBBU1NFUlRfVU5SRUFDSEFCTEUoKTsKKyAg ICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgc3Bpbl9sb2NrKCZoZC0+YXJjaC5tYXBwaW5n X2xvY2spOworCisgICAgbGV2ZWwgPSBoZC0+YXJjaC5wYWdpbmdfbW9kZTsKKworICAgIGhkLT5h cmNoLnJvb3RfdGFibGUgPSBhbGxvY19hbWRfaW9tbXVfcGd0YWJsZSgpOworICAgIGlmICggIWhk LT5hcmNoLnJvb3RfdGFibGUgKQorICAgICAgICBnb3RvIG91dDsKKworICAgIHRhYmxlID0gX19t YXBfZG9tYWluX3BhZ2UoaGQtPmFyY2gucm9vdF90YWJsZSk7CisgICAgd2hpbGUgKCBsZXZlbCAp CisgICAgeworICAgICAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwZzsKKyAgICAgICAgdW5zaWduZWQg aW50IGk7CisKKyAgICAgICAgLyoKKyAgICAgICAgICogVGhlIHBndGFibGUgYWxsb2NhdG9yIGlz IGZpbmUgZm9yIHRoZSBsZWFmIHBhZ2UsIGFzIHdlbGwgYXMKKyAgICAgICAgICogcGFnZSB0YWJs ZSBwYWdlcy4KKyAgICAgICAgICovCisgICAgICAgIHBnID0gYWxsb2NfYW1kX2lvbW11X3BndGFi bGUoKTsKKyAgICAgICAgaWYgKCAhcGcgKQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAg Zm9yICggaSA9IDA7IGkgPCBQVEVfUEVSX1RBQkxFX1NJWkU7IGkrKyApCisgICAgICAgIHsKKyAg ICAgICAgICAgIHN0cnVjdCBhbWRfaW9tbXVfcHRlICpwZGUgPSAmdGFibGVbaV07CisKKyAgICAg ICAgICAgIHNldF9pb21tdV9wZGVfcHJlc2VudChwZGUsIG1mbl94KHBhZ2VfdG9fbWZuKHBnKSks IGxldmVsIC0gMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlLCB0cnVl KTsKKyAgICAgICAgfQorCisgICAgICAgIHVubWFwX2RvbWFpbl9wYWdlKHRhYmxlKTsKKyAgICAg ICAgdGFibGUgPSBfX21hcF9kb21haW5fcGFnZShwZyk7CisgICAgICAgIGxldmVsLS07CisgICAg fQorICAgIHVubWFwX2RvbWFpbl9wYWdlKHRhYmxlKTsKKworIG91dDoKKyAgICBzcGluX3VubG9j aygmaGQtPmFyY2gubWFwcGluZ19sb2NrKTsKKworICAgIGFtZF9pb21tdV9mbHVzaF9hbGxfcGFn ZXMoZCk7CisKKyAgICAvKiBQYWdlcyBsZWFrZWQgaW4gZmFpbHVyZSBjYXNlICovCisgICAgcmV0 dXJuIGxldmVsID8gLUVOT01FTSA6IDA7Cit9CisKIC8qCiAgKiBMb2NhbCB2YXJpYWJsZXM6CiAg KiBtb2RlOiBDCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvcGNpX2Ft ZF9pb21tdS5jIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL3BjaV9hbWRfaW9tbXUuYwpp bmRleCA3NWEwZjFiNGFiLi5jNzg1OGI0ZThmIDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9wYXNz dGhyb3VnaC9hbWQvcGNpX2FtZF9pb21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo L2FtZC9wY2lfYW1kX2lvbW11LmMKQEAgLTk1LDEwICs5NSw2IEBAIHN0YXRpYyB2b2lkIGFtZF9p b21tdV9zZXR1cF9kb21haW5fZGV2aWNlKAogICAgIHU4IGJ1cyA9IHBkZXYtPmJ1czsKICAgICBj b25zdCBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShkb21haW4pOwogCi0gICAg LyogZG9tX2lvIGlzIHVzZWQgYXMgYSBzZW50aW5lbCBmb3IgcXVhcmFudGluZWQgZGV2aWNlcyAq LwotICAgIGlmICggZG9tYWluID09IGRvbV9pbyApCi0gICAgICAgIHJldHVybjsKLQogICAgIEJV R19PTiggIWhkLT5hcmNoLnJvb3RfdGFibGUgfHwgIWhkLT5hcmNoLnBhZ2luZ19tb2RlIHx8CiAg ICAgICAgICAgICAhaW9tbXUtPmRldl90YWJsZS5idWZmZXIgKTsKIApAQCAtMjkwLDEwICsyODYs NiBAQCBzdGF0aWMgdm9pZCBhbWRfaW9tbXVfZGlzYWJsZV9kb21haW5fZGV2aWNlKGNvbnN0IHN0 cnVjdCBkb21haW4gKmRvbWFpbiwKICAgICBpbnQgcmVxX2lkOwogICAgIHU4IGJ1cyA9IHBkZXYt PmJ1czsKIAotICAgIC8qIGRvbV9pbyBpcyB1c2VkIGFzIGEgc2VudGluZWwgZm9yIHF1YXJhbnRp bmVkIGRldmljZXMgKi8KLSAgICBpZiAoIGRvbWFpbiA9PSBkb21faW8gKQotICAgICAgICByZXR1 cm47Ci0KICAgICBCVUdfT04gKCBpb21tdS0+ZGV2X3RhYmxlLmJ1ZmZlciA9PSBOVUxMICk7CiAg ICAgcmVxX2lkID0gZ2V0X2RtYV9yZXF1ZXN0b3JfaWQoaW9tbXUtPnNlZywgUENJX0JERjIoYnVz LCBkZXZmbikpOwogICAgIHRhYmxlID0gaW9tbXUtPmRldl90YWJsZS5idWZmZXI7CkBAIC02MzIs NiArNjI0LDcgQEAgc3RhdGljIHZvaWQgYW1kX2R1bXBfcDJtX3RhYmxlKHN0cnVjdCBkb21haW4g KmQpCiBzdGF0aWMgY29uc3Qgc3RydWN0IGlvbW11X29wcyBfX2luaXRjb25zdHJlbCBfaW9tbXVf b3BzID0gewogICAgIC5pbml0ID0gYW1kX2lvbW11X2RvbWFpbl9pbml0LAogICAgIC5od2RvbV9p bml0ID0gYW1kX2lvbW11X2h3ZG9tX2luaXQsCisgICAgLnF1YXJhbnRpbmVfaW5pdCA9IGFtZF9p b21tdV9xdWFyYW50aW5lX2luaXQsCiAgICAgLmFkZF9kZXZpY2UgPSBhbWRfaW9tbXVfYWRkX2Rl dmljZSwKICAgICAucmVtb3ZlX2RldmljZSA9IGFtZF9pb21tdV9yZW1vdmVfZGV2aWNlLAogICAg IC5hc3NpZ25fZGV2aWNlICA9IGFtZF9pb21tdV9hc3NpZ25fZGV2aWNlLApkaWZmIC0tZ2l0IGEv eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo L2lvbW11LmMKaW5kZXggOGNiZTkwOGZmZi4uMjUyODMyNjNkNyAxMDA2NDQKLS0tIGEveGVuL2Ry aXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9p b21tdS5jCkBAIC00NDAsNiArNDQwLDI4IEBAIGludCBpb21tdV9pb3RsYl9mbHVzaF9hbGwoc3Ry dWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IGZsdXNoX2ZsYWdzKQogICAgIHJldHVybiByYzsK IH0KIAorc3RhdGljIGludCBfX2luaXQgaW9tbXVfcXVhcmFudGluZV9pbml0KHZvaWQpCit7Cisg ICAgY29uc3Qgc3RydWN0IGRvbWFpbl9pb21tdSAqaGQgPSBkb21faW9tbXUoZG9tX2lvKTsKKyAg ICBpbnQgcmM7CisKKyAgICBkb21faW8tPm9wdGlvbnMgfD0gWEVOX0RPTUNUTF9DREZfaW9tbXU7 CisKKyAgICByYyA9IGlvbW11X2RvbWFpbl9pbml0KGRvbV9pbywgMCk7CisgICAgaWYgKCByYyAp CisgICAgICAgIHJldHVybiByYzsKKworICAgIGlmICggIWhkLT5wbGF0Zm9ybV9vcHMtPnF1YXJh bnRpbmVfaW5pdCApCisgICAgICAgIHJldHVybiAwOworCisgICAgcmMgPSBoZC0+cGxhdGZvcm1f b3BzLT5xdWFyYW50aW5lX2luaXQoZG9tX2lvKTsKKworICAgIGlmICggIXJjICkKKyAgICAgICAg cHJpbnRrKCJRdWFyYW50aW5lIGluaXRpYWxpemVkXG4iKTsKKworICAgIHJldHVybiByYzsKK30K KwogaW50IF9faW5pdCBpb21tdV9zZXR1cCh2b2lkKQogewogICAgIGludCByYyA9IC1FTk9ERVY7 CkBAIC00NzMsOCArNDk1LDcgQEAgaW50IF9faW5pdCBpb21tdV9zZXR1cCh2b2lkKQogICAgIH0K ICAgICBlbHNlCiAgICAgewotICAgICAgICBkb21faW8tPm9wdGlvbnMgfD0gWEVOX0RPTUNUTF9D REZfaW9tbXU7Ci0gICAgICAgIGlmICggaW9tbXVfZG9tYWluX2luaXQoZG9tX2lvLCAwKSApCisg ICAgICAgIGlmICggaW9tbXVfcXVhcmFudGluZV9pbml0KCkgKQogICAgICAgICAgICAgcGFuaWMo IkNvdWxkIG5vdCBzZXQgdXAgcXVhcmFudGluZVxuIik7CiAKICAgICAgICAgcHJpbnRrKCIgLSBE b20wIG1vZGU6ICVzXG4iLApkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRk L2lvbW11LmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYwppbmRleCAyNWFk NjQ5YzM0Li5jMjBmMmNhMDI5IDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92 dGQvaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYwpAQCAt MTI5MSwxMCArMTI5MSw2IEBAIGludCBkb21haW5fY29udGV4dF9tYXBwaW5nX29uZSgKICAgICBp bnQgYWdhdywgcmMsIHJldDsKICAgICBib29sX3QgZmx1c2hfZGV2X2lvdGxiOwogCi0gICAgLyog ZG9tX2lvIGlzIHVzZWQgYXMgYSBzZW50aW5lbCBmb3IgcXVhcmFudGluZWQgZGV2aWNlcyAqLwot ICAgIGlmICggZG9tYWluID09IGRvbV9pbyApCi0gICAgICAgIHJldHVybiAwOwotCiAgICAgQVNT RVJUKHBjaWRldnNfbG9ja2VkKCkpOwogICAgIHNwaW5fbG9jaygmaW9tbXUtPmxvY2spOwogICAg IG1hZGRyID0gYnVzX3RvX2NvbnRleHRfbWFkZHIoaW9tbXUsIGJ1cyk7CkBAIC0xNTQxLDEwICsx NTM3LDYgQEAgaW50IGRvbWFpbl9jb250ZXh0X3VubWFwX29uZSgKICAgICBpbnQgaW9tbXVfZG9t aWQsIHJjLCByZXQ7CiAgICAgYm9vbF90IGZsdXNoX2Rldl9pb3RsYjsKIAotICAgIC8qIGRvbV9p byBpcyB1c2VkIGFzIGEgc2VudGluZWwgZm9yIHF1YXJhbnRpbmVkIGRldmljZXMgKi8KLSAgICBp ZiAoIGRvbWFpbiA9PSBkb21faW8gKQotICAgICAgICByZXR1cm4gMDsKLQogICAgIEFTU0VSVChw Y2lkZXZzX2xvY2tlZCgpKTsKICAgICBzcGluX2xvY2soJmlvbW11LT5sb2NrKTsKIApAQCAtMTY3 NywxMCArMTY2OSw2IEBAIHN0YXRpYyBpbnQgZG9tYWluX2NvbnRleHRfdW5tYXAoc3RydWN0IGRv bWFpbiAqZG9tYWluLCB1OCBkZXZmbiwKICAgICAgICAgZ290byBvdXQ7CiAgICAgfQogCi0gICAg LyogZG9tX2lvIGlzIHVzZWQgYXMgYSBzZW50aW5lbCBmb3IgcXVhcmFudGluZWQgZGV2aWNlcyAq LwotICAgIGlmICggZG9tYWluID09IGRvbV9pbyApCi0gICAgICAgIGdvdG8gb3V0OwotCiAgICAg LyoKICAgICAgKiBpZiBubyBvdGhlciBkZXZpY2VzIHVuZGVyIHRoZSBzYW1lIGlvbW11IG93bmVk IGJ5IHRoaXMgZG9tYWluLAogICAgICAqIGNsZWFyIGlvbW11IGluIGlvbW11X2JpdG1hcCBhbmQg Y2xlYXIgZG9tYWluX2lkIGluIGRvbWlkX2JpdG1wCkBAIC0yNjgzLDkgKzI2NzEsNjggQEAgc3Rh dGljIHZvaWQgdnRkX2R1bXBfcDJtX3RhYmxlKHN0cnVjdCBkb21haW4gKmQpCiAgICAgdnRkX2R1 bXBfcDJtX3RhYmxlX2xldmVsKGhkLT5hcmNoLnBnZF9tYWRkciwgYWdhd190b19sZXZlbChoZC0+ YXJjaC5hZ2F3KSwgMCwgMCk7CiB9CiAKK3N0YXRpYyBpbnQgaW50ZWxfaW9tbXVfcXVhcmFudGlu ZV9pbml0KHN0cnVjdCBkb21haW4gKmQpCit7CisgICAgc3RydWN0IGRvbWFpbl9pb21tdSAqaGQg PSBkb21faW9tbXUoZCk7CisgICAgc3RydWN0IGRtYV9wdGUgKnBhcmVudDsKKyAgICB1bnNpZ25l ZCBpbnQgbGV2ZWwgPSBhZ2F3X3RvX2xldmVsKGhkLT5hcmNoLmFnYXcpOworICAgIGludCByYzsK KworICAgIGlmICggaGQtPmFyY2gucGdkX21hZGRyICkKKyAgICB7CisgICAgICAgIEFTU0VSVF9V TlJFQUNIQUJMRSgpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICBzcGluX2xvY2so JmhkLT5hcmNoLm1hcHBpbmdfbG9jayk7CisKKyAgICBoZC0+YXJjaC5wZ2RfbWFkZHIgPSBhbGxv Y19wZ3RhYmxlX21hZGRyKDEsIGhkLT5ub2RlKTsKKyAgICBpZiAoICFoZC0+YXJjaC5wZ2RfbWFk ZHIgKQorICAgICAgICBnb3RvIG91dDsKKworICAgIHBhcmVudCA9IChzdHJ1Y3QgZG1hX3B0ZSAq KW1hcF92dGRfZG9tYWluX3BhZ2UoaGQtPmFyY2gucGdkX21hZGRyKTsKKyAgICB3aGlsZSAoIGxl dmVsICkKKyAgICB7CisgICAgICAgIHVpbnQ2NF90IG1hZGRyOworICAgICAgICB1bnNpZ25lZCBp bnQgb2Zmc2V0OworCisgICAgICAgIC8qCisgICAgICAgICAqIFRoZSBwZ3RhYmxlIGFsbG9jYXRv ciBpcyBmaW5lIGZvciB0aGUgbGVhZiBwYWdlLCBhcyB3ZWxsIGFzCisgICAgICAgICAqIHBhZ2Ug dGFibGUgcGFnZXMuCisgICAgICAgICAqLworICAgICAgICBtYWRkciA9IGFsbG9jX3BndGFibGVf bWFkZHIoMSwgaGQtPm5vZGUpOworICAgICAgICBpZiAoICFtYWRkciApCisgICAgICAgICAgICBi cmVhazsKKworICAgICAgICBmb3IgKCBvZmZzZXQgPSAwOyBvZmZzZXQgPCBQVEVfTlVNOyBvZmZz ZXQrKyApCisgICAgICAgIHsKKyAgICAgICAgICAgIHN0cnVjdCBkbWFfcHRlICpwdGUgPSAmcGFy ZW50W29mZnNldF07CisKKyAgICAgICAgICAgIGRtYV9zZXRfcHRlX2FkZHIoKnB0ZSwgbWFkZHIp OworICAgICAgICAgICAgZG1hX3NldF9wdGVfcmVhZGFibGUoKnB0ZSk7CisgICAgICAgICAgICBk bWFfc2V0X3B0ZV93cml0YWJsZSgqcHRlKTsKKyAgICAgICAgfQorICAgICAgICBpb21tdV9mbHVz aF9jYWNoZV9wYWdlKHBhcmVudCwgMSk7CisKKyAgICAgICAgdW5tYXBfdnRkX2RvbWFpbl9wYWdl KHBhcmVudCk7CisgICAgICAgIHBhcmVudCA9IG1hcF92dGRfZG9tYWluX3BhZ2UobWFkZHIpOwor ICAgICAgICBsZXZlbC0tOworICAgIH0KKyAgICB1bm1hcF92dGRfZG9tYWluX3BhZ2UocGFyZW50 KTsKKworIG91dDoKKyAgICBzcGluX3VubG9jaygmaGQtPmFyY2gubWFwcGluZ19sb2NrKTsKKwor ICAgIHJjID0gaW9tbXVfZmx1c2hfaW90bGJfYWxsKGQpOworCisgICAgLyogUGFnZXMgbGVha2Vk IGluIGZhaWx1cmUgY2FzZSAqLworICAgIHJldHVybiBsZXZlbCA/IC1FTk9NRU0gOiByYzsKK30K KwogY29uc3Qgc3RydWN0IGlvbW11X29wcyBfX2luaXRjb25zdHJlbCBpbnRlbF9pb21tdV9vcHMg PSB7CiAgICAgLmluaXQgPSBpbnRlbF9pb21tdV9kb21haW5faW5pdCwKICAgICAuaHdkb21faW5p dCA9IGludGVsX2lvbW11X2h3ZG9tX2luaXQsCisgICAgLnF1YXJhbnRpbmVfaW5pdCA9IGludGVs X2lvbW11X3F1YXJhbnRpbmVfaW5pdCwKICAgICAuYWRkX2RldmljZSA9IGludGVsX2lvbW11X2Fk ZF9kZXZpY2UsCiAgICAgLmVuYWJsZV9kZXZpY2UgPSBpbnRlbF9pb21tdV9lbmFibGVfZGV2aWNl LAogICAgIC5yZW1vdmVfZGV2aWNlID0gaW50ZWxfaW9tbXVfcmVtb3ZlX2RldmljZSwKZGlmZiAt LWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2bS9hbWQtaW9tbXUtcHJvdG8uaCBiL3hl bi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2bS9hbWQtaW9tbXUtcHJvdG8uaAppbmRleCA4ZWQ5NDgy NzkxLi4zOWZiMTBmNTY3IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9zdm0v YW1kLWlvbW11LXByb3RvLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vc3ZtL2FtZC1p b21tdS1wcm90by5oCkBAIC01NCw2ICs1NCw4IEBAIGludCBhbWRfaW9tbXVfaW5pdF9sYXRlKHZv aWQpOwogaW50IGFtZF9pb21tdV91cGRhdGVfaXZyc19tYXBwaW5nX2FjcGkodm9pZCk7CiBpbnQg aW92X2FkanVzdF9pcnFfYWZmaW5pdGllcyh2b2lkKTsKIAoraW50IGFtZF9pb21tdV9xdWFyYW50 aW5lX2luaXQoc3RydWN0IGRvbWFpbiAqZCk7CisKIC8qIG1hcHBpbmcgZnVuY3Rpb25zICovCiBp bnQgX19tdXN0X2NoZWNrIGFtZF9pb21tdV9tYXBfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCBkZm5f dCBkZm4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZm5fdCBtZm4sIHVu c2lnbmVkIGludCBmbGFncywKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9pb21tdS5oIGIv eGVuL2luY2x1ZGUveGVuL2lvbW11LmgKaW5kZXggOTc0YmQzZmZlOC4uNjk3N2RkYmI5NyAxMDA2 NDQKLS0tIGEveGVuL2luY2x1ZGUveGVuL2lvbW11LmgKKysrIGIveGVuL2luY2x1ZGUveGVuL2lv bW11LmgKQEAgLTIxMSw2ICsyMTEsNyBAQCB0eXBlZGVmIGludCBpb21tdV9ncmRtX3QoeGVuX3Bm bl90IHN0YXJ0LCB4ZW5fdWxvbmdfdCBuciwgdTMyIGlkLCB2b2lkICpjdHh0KTsKIHN0cnVjdCBp b21tdV9vcHMgewogICAgIGludCAoKmluaXQpKHN0cnVjdCBkb21haW4gKmQpOwogICAgIHZvaWQg KCpod2RvbV9pbml0KShzdHJ1Y3QgZG9tYWluICpkKTsKKyAgICBpbnQgKCpxdWFyYW50aW5lX2lu aXQpKHN0cnVjdCBkb21haW4gKmQpOwogICAgIGludCAoKmFkZF9kZXZpY2UpKHU4IGRldmZuLCBk ZXZpY2VfdCAqZGV2KTsKICAgICBpbnQgKCplbmFibGVfZGV2aWNlKShkZXZpY2VfdCAqZGV2KTsK ICAgICBpbnQgKCpyZW1vdmVfZGV2aWNlKSh1OCBkZXZmbiwgZGV2aWNlX3QgKmRldik7Ci0tIAoy LjIwLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpY ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRw czovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs