From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v4 01/15] re-work commit 3e06b989 "IOMMU: make page table population preemptible"... Date: Wed, 1 Aug 2018 14:40:14 +0100 Message-ID: <20180801134028.1654-2-paul.durrant@citrix.com> References: <20180801134028.1654-1-paul.durrant@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1fkrMm-0008Om-83 for xen-devel@lists.xenproject.org; Wed, 01 Aug 2018 13:40:40 +0000 In-Reply-To: <20180801134028.1654-1-paul.durrant@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Stefano Stabellini , Wei Liu , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall , Paul Durrant , Jan Beulich List-Id: xen-devel@lists.xenproject.org Li4udG8gc2ltcGxpZnkgdGhlIGltcGxlbWVudGF0aW9uIGFuZCB0dXJuIG5lZWRfaW9tbXUgYmFj ayBpbnRvIGEgYm9vbGVhbi4KCkFzIG5vdGVkIGluIFsxXSB0aGUgdHJpLXN0YXRlIG5hdHVyZSBv ZiBuZWVkX2lvbW11IGFmdGVyIGNvbW1pdCAzZTA2Yjk4OSBpcwpjb25mdXNpbmcsIGFzIGlzIHRo ZSBpbXBsZW1lbnRhdGlvbiBvZiBwcmUtZW1wdGlvbiB1c2luZyByZWxtZW1fbGlzdC4KClRoaXMg cGF0Y2ggaW5zdGVhZCB1c2VzIGEgc2ltcGxlIGNvdW50IG9mIHBhZ2VzIGFscmVhZHkgcG9wdWxh dGVkIHN0b3JlZCBpbgp0aGUgeDg2IHZhcmlhbnQgb2Ygc3RydWN0IGFyY2hfaW9tbXUgYW5kIHNr aXBzIG92ZXIgdGhhdCBudW1iZXIgb2YgcGFnZXMKaWYgYXJjaF9pb21tdV9wb3B1bGF0ZV9wYWdl X3RhYmxlKCkgaXMgcmUtaW52b2tlZCBhZnRlciBwcmUtZW1wdGlvbi4KClsxXSBodHRwczovL2xp c3RzLnhlbnByb2plY3Qub3JnL2FyY2hpdmVzL2h0bWwveGVuLWRldmVsLzIwMTgtMDcvbXNnMDE4 NzAuaHRtbAoKU2lnbmVkLW9mZi1ieTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4 LmNvbT4KLS0tCkNjOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkNjOiBBbmRyZXcg Q29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgpDYzogR2VvcmdlIER1bmxhcCA8R2Vv cmdlLkR1bmxhcEBldS5jaXRyaXguY29tPgpDYzogSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1 LmNpdHJpeC5jb20+CkNjOiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBhcm0uY29tPgpDYzog S29ucmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0BvcmFjbGUuY29tPgpDYzogU3RlZmFu byBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPgpDYzogVGltIERlZWdhbiA8dGlt QHhlbi5vcmc+CkNjOiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgpDYzogR2VvcmdlIER1 bmxhcCA8Z2VvcmdlLmR1bmxhcEBldS5jaXRyaXguY29tPgoKdjQ6CiAtIE5ldyBpbiB2NC4KLS0t CiB4ZW4vYXJjaC94ODYvZG9tYWluLmMgICAgICAgICAgICAgICAgIHwgIDYgLS0tCiB4ZW4vYXJj aC94ODYvbW0vcDJtLXBvZC5jICAgICAgICAgICAgIHwgIDMgKy0KIHhlbi9kcml2ZXJzL3Bhc3N0 aHJvdWdoL2RldmljZV90cmVlLmMgfCAxOSArKysrLS0tLS0KIHhlbi9kcml2ZXJzL3Bhc3N0aHJv dWdoL2lvbW11LmMgICAgICAgfCAgOCArKy0tCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC94ODYv aW9tbXUuYyAgIHwgNzkgKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHhlbi9p bmNsdWRlL2FzbS14ODYvaW9tbXUuaCAgICAgICAgICAgfCAgMSArCiB4ZW4vaW5jbHVkZS94ZW4v c2NoZWQuaCAgICAgICAgICAgICAgIHwgIDQgKy0KIDcgZmlsZXMgY2hhbmdlZCwgNDggaW5zZXJ0 aW9ucygrKSwgNzIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2RvbWFp bi5jIGIveGVuL2FyY2gveDg2L2RvbWFpbi5jCmluZGV4IGI1YmIwZjNiMjIuLmU2ODU5MWQ3OTEg MTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9kb21haW4uYworKysgYi94ZW4vYXJjaC94ODYvZG9t YWluLmMKQEAgLTE5ODMsMTIgKzE5ODMsNiBAQCBpbnQgZG9tYWluX3JlbGlucXVpc2hfcmVzb3Vy Y2VzKHN0cnVjdCBkb21haW4gKmQpCiAgICAgICAgIH0KIAogICAgICAgICBkLT5hcmNoLnJlbG1l bSA9IFJFTE1FTV94ZW47Ci0KLSAgICAgICAgc3Bpbl9sb2NrKCZkLT5wYWdlX2FsbG9jX2xvY2sp OwotICAgICAgICBwYWdlX2xpc3Rfc3BsaWNlKCZkLT5hcmNoLnJlbG1lbV9saXN0LCAmZC0+cGFn ZV9saXN0KTsKLSAgICAgICAgSU5JVF9QQUdFX0xJU1RfSEVBRCgmZC0+YXJjaC5yZWxtZW1fbGlz dCk7Ci0gICAgICAgIHNwaW5fdW5sb2NrKCZkLT5wYWdlX2FsbG9jX2xvY2spOwotCiAgICAgICAg IC8qIEZhbGx0aHJvdWdoLiBSZWxpbnF1aXNoIGV2ZXJ5IHBhZ2Ugb2YgbWVtb3J5LiAqLwogICAg IGNhc2UgUkVMTUVNX3hlbjoKICAgICAgICAgcmV0ID0gcmVsaW5xdWlzaF9tZW1vcnkoZCwgJmQt PnhlbnBhZ2VfbGlzdCwgfjBVTCk7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0vcDJtLXBv ZC5jIGIveGVuL2FyY2gveDg2L21tL3AybS1wb2QuYwppbmRleCA2MzFlOWFlYzMzLi44MGY1YWIx ZWE0IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0vcDJtLXBvZC5jCisrKyBiL3hlbi9hcmNo L3g4Ni9tbS9wMm0tcG9kLmMKQEAgLTQ2Miw4ICs0NjIsNyBAQCBwMm1fcG9kX29mZmxpbmVfb3Jf YnJva2VuX2hpdChzdHJ1Y3QgcGFnZV9pbmZvICpwKQogCiBwb2RfaGl0OgogICAgIGxvY2tfcGFn ZV9hbGxvYyhwMm0pOwotICAgIC8qIEluc2VydGlvbiBtdXN0IGJlIGF0IGxpc3QgaGVhZCAoc2Vl IGlvbW11X3BvcHVsYXRlX3BhZ2VfdGFibGUoKSkuICovCi0gICAgcGFnZV9saXN0X2FkZChwLCAm ZC0+YXJjaC5yZWxtZW1fbGlzdCk7CisgICAgcGFnZV9saXN0X2FkZF90YWlsKHAsICZkLT5hcmNo LnJlbG1lbV9saXN0KTsKICAgICB1bmxvY2tfcGFnZV9hbGxvYyhwMm0pOwogICAgIHBvZF91bmxv Y2socDJtKTsKICAgICByZXR1cm4gMTsKZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJv dWdoL2RldmljZV90cmVlLmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9kZXZpY2VfdHJlZS5j CmluZGV4IDQyMWYwMDM0MzguLjY3MWM4ZGIxZDAgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bh c3N0aHJvdWdoL2RldmljZV90cmVlLmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvZGV2 aWNlX3RyZWUuYwpAQCAtNDAsMTcgKzQwLDE0IEBAIGludCBpb21tdV9hc3NpZ25fZHRfZGV2aWNl KHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCBkdF9kZXZpY2Vfbm9kZSAqZGV2KQogICAgIGlmICgg IWxpc3RfZW1wdHkoJmRldi0+ZG9tYWluX2xpc3QpICkKICAgICAgICAgZ290byBmYWlsOwogCi0g ICAgaWYgKCBuZWVkX2lvbW11KGQpIDw9IDAgKQotICAgIHsKLSAgICAgICAgLyoKLSAgICAgICAg ICogVGhlIGh3ZG9tIGlzIGZvcmNlZCB0byB1c2UgSU9NTVUgZm9yIHByb3RlY3RpbmcgYXNzaWdu ZWQKLSAgICAgICAgICogZGV2aWNlLiBUaGVyZWZvcmUgdGhlIElPTU1VIGRhdGEgaXMgYWxyZWFk eSBzZXQgdXAuCi0gICAgICAgICAqLwotICAgICAgICBBU1NFUlQoIWlzX2hhcmR3YXJlX2RvbWFp bihkKSk7Ci0gICAgICAgIHJjID0gaW9tbXVfY29uc3RydWN0KGQpOwotICAgICAgICBpZiAoIHJj ICkKLSAgICAgICAgICAgIGdvdG8gZmFpbDsKLSAgICB9CisgICAgLyoKKyAgICAgKiBUaGUgaHdk b20gaXMgZm9yY2VkIHRvIHVzZSBJT01NVSBmb3IgcHJvdGVjdGluZyBhc3NpZ25lZAorICAgICAq IGRldmljZS4gVGhlcmVmb3JlIHRoZSBJT01NVSBkYXRhIGlzIGFscmVhZHkgc2V0IHVwLgorICAg ICAqLworICAgIEFTU0VSVCghaXNfaGFyZHdhcmVfZG9tYWluKGQpIHx8IG5lZWRfaW9tbXUoZCkp OworICAgIHJjID0gaW9tbXVfY29uc3RydWN0KGQpOworICAgIGlmICggcmMgKQorICAgICAgICBn b3RvIGZhaWw7CiAKICAgICAvKiBUaGUgZmxhZyBmaWVsZCBkb2Vzbid0IG1hdHRlciB0byBEVCBk ZXZpY2UuICovCiAgICAgcmMgPSBoZC0+cGxhdGZvcm1fb3BzLT5hc3NpZ25fZGV2aWNlKGQsIDAs IGR0X3RvX2RldihkZXYpLCAwKTsKZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo L2lvbW11LmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5jCmluZGV4IDcwZDIxOGY5 MTAuLjQ5OTc0ZTU2MzQgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11 LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYwpAQCAtMjE0LDE0ICsyMTQs MTQgQEAgdm9pZCBpb21tdV90ZWFyZG93bihzdHJ1Y3QgZG9tYWluICpkKQogewogICAgIGNvbnN0 IHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGQpOwogCi0gICAgZC0+bmVlZF9p b21tdSA9IDA7CisgICAgZC0+bmVlZF9pb21tdSA9IGZhbHNlOwogICAgIGhkLT5wbGF0Zm9ybV9v cHMtPnRlYXJkb3duKGQpOwogICAgIHRhc2tsZXRfc2NoZWR1bGUoJmlvbW11X3B0X2NsZWFudXBf dGFza2xldCk7CiB9CiAKIGludCBpb21tdV9jb25zdHJ1Y3Qoc3RydWN0IGRvbWFpbiAqZCkKIHsK LSAgICBpZiAoIG5lZWRfaW9tbXUoZCkgPiAwICkKKyAgICBpZiAoIG5lZWRfaW9tbXUoZCkgKQog ICAgICAgICByZXR1cm4gMDsKIAogICAgIGlmICggIWlvbW11X3VzZV9oYXBfcHQoZCkgKQpAQCAt MjMzLDcgKzIzMyw3IEBAIGludCBpb21tdV9jb25zdHJ1Y3Qoc3RydWN0IGRvbWFpbiAqZCkKICAg ICAgICAgICAgIHJldHVybiByYzsKICAgICB9CiAKLSAgICBkLT5uZWVkX2lvbW11ID0gMTsKKyAg ICBkLT5uZWVkX2lvbW11ID0gdHJ1ZTsKICAgICAvKgogICAgICAqIFRoZXJlIG1heSBiZSBkaXJ0 eSBjYWNoZSBsaW5lcyB3aGVuIGEgZGV2aWNlIGlzIGFzc2lnbmVkCiAgICAgICogYW5kIGJlZm9y ZSBuZWVkX2lvbW11KGQpIGJlY29taW5nIHRydWUsIHRoaXMgd2lsbCBjYXVzZQpAQCAtNDkzLDcg KzQ5Myw3IEBAIHN0YXRpYyB2b2lkIGlvbW11X2R1bXBfcDJtX3RhYmxlKHVuc2lnbmVkIGNoYXIg a2V5KQogICAgIG9wcyA9IGlvbW11X2dldF9vcHMoKTsKICAgICBmb3JfZWFjaF9kb21haW4oZCkK ICAgICB7Ci0gICAgICAgIGlmICggaXNfaGFyZHdhcmVfZG9tYWluKGQpIHx8IG5lZWRfaW9tbXUo ZCkgPD0gMCApCisgICAgICAgIGlmICggaXNfaGFyZHdhcmVfZG9tYWluKGQpIHx8ICFuZWVkX2lv bW11KGQpICkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIGlmICggaW9tbXVfdXNl X2hhcF9wdChkKSApCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC94ODYvaW9t bXUuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3g4Ni9pb21tdS5jCmluZGV4IDY4MTgyYWZk OTEuLjIyZmViYTU3MmIgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3g4Ni9p b21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3g4Ni9pb21tdS5jCkBAIC00MSw2 MiArNDEsNDcgQEAgaW50IF9faW5pdCBpb21tdV9zZXR1cF9ocGV0X21zaShzdHJ1Y3QgbXNpX2Rl c2MgKm1zaSkKIAogaW50IGFyY2hfaW9tbXVfcG9wdWxhdGVfcGFnZV90YWJsZShzdHJ1Y3QgZG9t YWluICpkKQogewotICAgIGNvbnN0IHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11 KGQpOworICAgIHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGQpOworICAgIHVu c2lnbmVkIGxvbmcgc2tpcCA9IGhkLT5hcmNoLnBvcHVsYXRlZDsKICAgICBzdHJ1Y3QgcGFnZV9p bmZvICpwYWdlOwotICAgIGludCByYyA9IDAsIG4gPSAwOworICAgIGludCByYyA9IDA7CiAKLSAg ICBkLT5uZWVkX2lvbW11ID0gLTE7CisgICAgaWYgKCB1bmxpa2VseShkLT5pc19keWluZykgKQor ICAgICAgICByZXR1cm4gLUVTUkNIOwogCiAgICAgdGhpc19jcHUoaW9tbXVfZG9udF9mbHVzaF9p b3RsYikgPSAxOwogICAgIHNwaW5fbG9jaygmZC0+cGFnZV9hbGxvY19sb2NrKTsKIAotICAgIGlm ICggdW5saWtlbHkoZC0+aXNfZHlpbmcpICkKLSAgICAgICAgcmMgPSAtRVNSQ0g7Ci0KLSAgICB3 aGlsZSAoICFyYyAmJiAocGFnZSA9IHBhZ2VfbGlzdF9yZW1vdmVfaGVhZCgmZC0+cGFnZV9saXN0 KSkgKQorICAgIHBhZ2VfbGlzdF9mb3JfZWFjaCAoIHBhZ2UsICZkLT5wYWdlX2xpc3QgKQogICAg IHsKLSAgICAgICAgaWYgKCBpc19odm1fZG9tYWluKGQpIHx8Ci0gICAgICAgICAgICAocGFnZS0+ dS5pbnVzZS50eXBlX2luZm8gJiBQR1RfdHlwZV9tYXNrKSA9PSBQR1Rfd3JpdGFibGVfcGFnZSAp Ci0gICAgICAgIHsKLSAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbWZuID0gbWZuX3gocGFnZV90 b19tZm4ocGFnZSkpOwotICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBnZm4gPSBtZm5fdG9fZ21m bihkLCBtZm4pOwotCi0gICAgICAgICAgICBpZiAoIGdmbiAhPSBnZm5feChJTlZBTElEX0dGTikg KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIEFTU0VSVCghKGdmbiA+PiBERUZBVUxU X0RPTUFJTl9BRERSRVNTX1dJRFRIKSk7Ci0gICAgICAgICAgICAgICAgQlVHX09OKFNIQVJFRF9N MlAoZ2ZuKSk7Ci0gICAgICAgICAgICAgICAgcmMgPSBoZC0+cGxhdGZvcm1fb3BzLT5tYXBfcGFn ZShkLCBnZm4sIG1mbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIElPTU1VRl9yZWFkYWJsZSB8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJT01NVUZfd3JpdGFibGUpOwotICAgICAgICAgICAgfQotICAgICAg ICAgICAgaWYgKCByYyApCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcGFnZV9saXN0 X2FkZChwYWdlLCAmZC0+cGFnZV9saXN0KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg ICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBwYWdlX2xpc3RfYWRkX3RhaWwocGFnZSwgJmQt PmFyY2gucmVsbWVtX2xpc3QpOwotICAgICAgICBpZiAoICEoKytuICYgMHhmZikgJiYgIXBhZ2Vf bGlzdF9lbXB0eSgmZC0+cGFnZV9saXN0KSAmJgotICAgICAgICAgICAgIGh5cGVyY2FsbF9wcmVl bXB0X2NoZWNrKCkgKQotICAgICAgICAgICAgcmMgPSAtRVJFU1RBUlQ7Ci0gICAgfQorICAgICAg ICB1bnNpZ25lZCBsb25nIG1mbjsKKyAgICAgICAgdW5zaWduZWQgbG9uZyBnZm47CiAKLSAgICBp ZiAoICFyYyApCi0gICAgewotICAgICAgICAvKgotICAgICAgICAgKiBUaGUgZXhwZWN0YXRpb24g aGVyZSBpcyB0aGF0IGdlbmVyYWxseSB0aGVyZSBhcmUgbWFueSBub3JtYWwgcGFnZXMKLSAgICAg ICAgICogb24gcmVsbWVtX2xpc3QgKHRoZSBvbmVzIHdlIHB1dCB0aGVyZSkgYW5kIG9ubHkgZmV3 IGJlaW5nIGluIGFuCi0gICAgICAgICAqIG9mZmxpbmUvYnJva2VuIHN0YXRlLiBUaGUgbGF0dGVy IG9uZXMgYXJlIGFsd2F5cyBhdCB0aGUgaGVhZCBvZiB0aGUKLSAgICAgICAgICogbGlzdC4gSGVu Y2Ugd2UgZmlyc3QgbW92ZSB0aGUgd2hvbGUgbGlzdCwgYW5kIHRoZW4gbW92ZSBiYWNrIHRoZQot ICAgICAgICAgKiBmaXJzdCBmZXcgZW50cmllcy4KLSAgICAgICAgICovCi0gICAgICAgIHBhZ2Vf bGlzdF9tb3ZlKCZkLT5wYWdlX2xpc3QsICZkLT5hcmNoLnJlbG1lbV9saXN0KTsKLSAgICAgICAg d2hpbGUgKCAhcGFnZV9saXN0X2VtcHR5KCZkLT5wYWdlX2xpc3QpICYmCi0gICAgICAgICAgICAg ICAgKHBhZ2UgPSBwYWdlX2xpc3RfZmlyc3QoJmQtPnBhZ2VfbGlzdCksCi0gICAgICAgICAgICAg ICAgIChwYWdlLT5jb3VudF9pbmZvICYgKFBHQ19zdGF0ZXxQR0NfYnJva2VuKSkpICkKKyAgICAg ICAgaWYgKCAhaXNfaHZtX2RvbWFpbihkKSAmJgorICAgICAgICAgICAgKHBhZ2UtPnUuaW51c2Uu dHlwZV9pbmZvICYgUEdUX3R5cGVfbWFzaykgIT0gUEdUX3dyaXRhYmxlX3BhZ2UgKQorICAgICAg ICAgICAgY29udGludWU7CisKKyAgICAgICAgbWZuID0gbWZuX3gocGFnZV90b19tZm4ocGFnZSkp OworICAgICAgICBnZm4gPSBtZm5fdG9fZ21mbihkLCBtZm4pOworCisgICAgICAgIGlmICggZ2Zu ID09IGdmbl94KElOVkFMSURfR0ZOKSApCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAg ICBpZiAoIHNraXAgJiYgc2tpcC0tICkgLyogbWFrZSBzdXJlIHRoaXMgZG9lc24ndCB1bmRlcmZs b3cgKi8KKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIEFTU0VSVCghKGdmbiA+PiBE RUZBVUxUX0RPTUFJTl9BRERSRVNTX1dJRFRIKSk7CisgICAgICAgIEJVR19PTihTSEFSRURfTTJQ KGdmbikpOworICAgICAgICByYyA9IGhkLT5wbGF0Zm9ybV9vcHMtPm1hcF9wYWdlKGQsIGdmbiwg bWZuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElPTU1VRl9yZWFk YWJsZSB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU9NTVVGX3dy aXRhYmxlKTsKKyAgICAgICAgaWYgKCByYyApCisgICAgICAgICAgICBicmVhazsKKworICAgICAg ICBpZiAoICEoaGQtPmFyY2gucG9wdWxhdGVkKysgJiAweGZmKSAmJiBoeXBlcmNhbGxfcHJlZW1w dF9jaGVjaygpICkKICAgICAgICAgewotICAgICAgICAgICAgcGFnZV9saXN0X2RlbChwYWdlLCAm ZC0+cGFnZV9saXN0KTsKLSAgICAgICAgICAgIHBhZ2VfbGlzdF9hZGRfdGFpbChwYWdlLCAmZC0+ YXJjaC5yZWxtZW1fbGlzdCk7CisgICAgICAgICAgICByYyA9IC1FUkVTVEFSVDsKKyAgICAgICAg ICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgfQogCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9h c20teDg2L2lvbW11LmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2lvbW11LmgKaW5kZXggMTRhZDA0 ODlhNi4uMGRjZWFkM2I2YyAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9pb21tdS5o CisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaW9tbXUuaApAQCAtMzcsNiArMzcsNyBAQCBzdHJ1 Y3QgYXJjaF9pb21tdQogICAgIGludCBhZ2F3OyAgICAgLyogYWRqdXN0ZWQgZ3Vlc3QgYWRkcmVz cyB3aWR0aCwgMCBpcyBsZXZlbCAyIDMwLWJpdCAqLwogICAgIHU2NCBpb21tdV9iaXRtYXA7ICAg ICAgICAgICAgICAvKiBiaXRtYXAgb2YgaW9tbXUocykgdGhhdCB0aGUgZG9tYWluIHVzZXMgKi8K ICAgICBzdHJ1Y3QgbGlzdF9oZWFkIG1hcHBlZF9ybXJyczsKKyAgICB1bnNpZ25lZCBsb25nIHBv cHVsYXRlZDsKIAogICAgIC8qIGFtZCBpb21tdSBzdXBwb3J0ICovCiAgICAgaW50IHBhZ2luZ19t b2RlOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL3NjaGVkLmggYi94ZW4vaW5jbHVkZS94 ZW4vc2NoZWQuaAppbmRleCA4NTFmMTFlY2Y3Li41Yjk4MjBlNGUxIDEwMDY0NAotLS0gYS94ZW4v aW5jbHVkZS94ZW4vc2NoZWQuaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vc2NoZWQuaApAQCAtMzcy LDggKzM3Miw4IEBAIHN0cnVjdCBkb21haW4KICNpZmRlZiBDT05GSUdfSEFTX1BBU1NUSFJPVUdI CiAgICAgc3RydWN0IGRvbWFpbl9pb21tdSBpb21tdTsKIAotICAgIC8qIERvZXMgdGhpcyBndWVz dCBuZWVkIGlvbW11IG1hcHBpbmdzICgtMSBtZWFuaW5nICJiZWluZyBzZXQgdXAiKT8gKi8KLSAg ICBzOCAgICAgICAgICAgICAgIG5lZWRfaW9tbXU7CisgICAgLyogRG9lcyB0aGlzIGd1ZXN0IG5l ZWQgaW9tbXUgbWFwcGluZ3M/ICovCisgICAgYm9vbCAgICAgICAgICAgICBuZWVkX2lvbW11Owog I2VuZGlmCiAgICAgLyogaXMgbm9kZS1hZmZpbml0eSBhdXRvbWF0aWNhbGx5IGNvbXB1dGVkPyAq LwogICAgIGJvb2wgICAgICAgICAgICAgYXV0b19ub2RlX2FmZmluaXR5OwotLSAKMi4xMS4wCgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0 cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==