From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 1/7] x86/pv: Rename d->arch.pv_domain to d->arch.pv Date: Tue, 28 Aug 2018 18:39:00 +0100 Message-ID: <1535477946-17892-2-git-send-email-andrew.cooper3@citrix.com> References: <1535477946-17892-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1535477946-17892-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: Wei Liu , George Dunlap , Andrew Cooper , Tim Deegan , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org VGhlIHRyYWlsaW5nIF9kb21haW4gc3VmZml4IGlzIHJlZHVuZGFudCwgYnV0IGFkZHMgdG8gY29k ZSB2b2x1bWUuICBEcm9wIGl0LgoKUmVmbG93IGxpbmVzIGFzIGFwcHJvcHJpYXRlLCBhbmQgc3dp dGNoIHRvIHVzaW5nIHRoZSBuZXcgWEZSRUUvZXRjIHdyYXBwZXJzCndoZXJlIGFwcGxpY2FibGUu CgpObyBmdW5jdGlvbmFsIGNoYW5nZS4KClNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFu ZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQpDQzogSmFuIEJldWxpY2ggPEpCZXVsaWNoQHN1 c2UuY29tPgpDQzogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KQ0M6IFJvZ2VyIFBhdSBN b25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpDQzogVGltIERlZWdhbiA8dGltQHhlbi5vcmc+ CkNDOiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGV1LmNpdHJpeC5jb20+Ci0tLQogeGVu L2FyY2gveDg2L2NwdS9hbWQuYyAgICAgICAgIHwgIDQgKystLQogeGVuL2FyY2gveDg2L2NwdS9p bnRlbC5jICAgICAgIHwgIDQgKystLQogeGVuL2FyY2gveDg2L2RvbWFpbi5jICAgICAgICAgIHwg IDIgKy0KIHhlbi9hcmNoL3g4Ni9kb21haW5fcGFnZS5jICAgICB8ICA4ICsrKystLS0tCiB4ZW4v YXJjaC94ODYvZG9tY3RsLmMgICAgICAgICAgfCAxMCArKysrKy0tLS0tCiB4ZW4vYXJjaC94ODYv bW0uYyAgICAgICAgICAgICAgfCAxNCArKysrKysrLS0tLS0tLQogeGVuL2FyY2gveDg2L3B2L2Rv bTBfYnVpbGQuYyAgIHwgIDQgKystLQogeGVuL2FyY2gveDg2L3B2L2RvbWFpbi5jICAgICAgIHwg MzUgKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0KIHhlbi9pbmNsdWRlL2FzbS14 ODYvZG9tYWluLmggICB8ICA0ICsrLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvZmx1c2h0bGIuaCB8 ICAyICstCiB4ZW4vaW5jbHVkZS9hc20teDg2L3NoYWRvdy5oICAgfCAgNCArKy0tCiAxMSBmaWxl cyBjaGFuZ2VkLCA0NCBpbnNlcnRpb25zKCspLCA0NyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS94ZW4vYXJjaC94ODYvY3B1L2FtZC5jIGIveGVuL2FyY2gveDg2L2NwdS9hbWQuYwppbmRleCBh N2FmYTJmLi5lMGVlMTE0IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvY3B1L2FtZC5jCisrKyBi L3hlbi9hcmNoL3g4Ni9jcHUvYW1kLmMKQEAgLTIwOCw4ICsyMDgsOCBAQCBzdGF0aWMgdm9pZCBh bWRfY3R4dF9zd2l0Y2hfbWFza2luZyhjb25zdCBzdHJ1Y3QgdmNwdSAqbmV4dCkKIAlzdHJ1Y3Qg Y3B1aWRtYXNrcyAqdGhlc2VfbWFza3MgPSAmdGhpc19jcHUoY3B1aWRtYXNrcyk7CiAJY29uc3Qg c3RydWN0IGRvbWFpbiAqbmV4dGQgPSBuZXh0ID8gbmV4dC0+ZG9tYWluIDogTlVMTDsKIAljb25z dCBzdHJ1Y3QgY3B1aWRtYXNrcyAqbWFza3MgPQotCQkobmV4dGQgJiYgaXNfcHZfZG9tYWluKG5l eHRkKSAmJiBuZXh0ZC0+YXJjaC5wdl9kb21haW4uY3B1aWRtYXNrcykKLQkJPyBuZXh0ZC0+YXJj aC5wdl9kb21haW4uY3B1aWRtYXNrcyA6ICZjcHVpZG1hc2tfZGVmYXVsdHM7CisJCShuZXh0ZCAm JiBpc19wdl9kb21haW4obmV4dGQpICYmIG5leHRkLT5hcmNoLnB2LmNwdWlkbWFza3MpCisJCT8g bmV4dGQtPmFyY2gucHYuY3B1aWRtYXNrcyA6ICZjcHVpZG1hc2tfZGVmYXVsdHM7CiAKIAlpZiAo KGxldmVsbGluZ19jYXBzICYgTENBUF8xY2QpID09IExDQVBfMWNkKSB7CiAJCXVpbnQ2NF90IHZh bCA9IG1hc2tzLT5fMWNkOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2NwdS9pbnRlbC5jIGIv eGVuL2FyY2gveDg2L2NwdS9pbnRlbC5jCmluZGV4IDM3N2JlZWYuLjhjMzc1YzggMTAwNjQ0Ci0t LSBhL3hlbi9hcmNoL3g4Ni9jcHUvaW50ZWwuYworKysgYi94ZW4vYXJjaC94ODYvY3B1L2ludGVs LmMKQEAgLTExOSw4ICsxMTksOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9jdHh0X3N3aXRjaF9tYXNr aW5nKGNvbnN0IHN0cnVjdCB2Y3B1ICpuZXh0KQogCXN0cnVjdCBjcHVpZG1hc2tzICp0aGVzZV9t YXNrcyA9ICZ0aGlzX2NwdShjcHVpZG1hc2tzKTsKIAljb25zdCBzdHJ1Y3QgZG9tYWluICpuZXh0 ZCA9IG5leHQgPyBuZXh0LT5kb21haW4gOiBOVUxMOwogCWNvbnN0IHN0cnVjdCBjcHVpZG1hc2tz ICptYXNrcyA9Ci0JCShuZXh0ZCAmJiBpc19wdl9kb21haW4obmV4dGQpICYmIG5leHRkLT5hcmNo LnB2X2RvbWFpbi5jcHVpZG1hc2tzKQotCQk/IG5leHRkLT5hcmNoLnB2X2RvbWFpbi5jcHVpZG1h c2tzIDogJmNwdWlkbWFza19kZWZhdWx0czsKKwkJKG5leHRkICYmIGlzX3B2X2RvbWFpbihuZXh0 ZCkgJiYgbmV4dGQtPmFyY2gucHYuY3B1aWRtYXNrcykKKwkJPyBuZXh0ZC0+YXJjaC5wdi5jcHVp ZG1hc2tzIDogJmNwdWlkbWFza19kZWZhdWx0czsKIAogICAgICAgICBpZiAobXNyX2Jhc2ljKSB7 CiAJCXVpbnQ2NF90IHZhbCA9IG1hc2tzLT5fMWNkOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2 L2RvbWFpbi5jIGIveGVuL2FyY2gveDg2L2RvbWFpbi5jCmluZGV4IGViMWU5M2YuLjhjN2RkZjUg MTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9kb21haW4uYworKysgYi94ZW4vYXJjaC94ODYvZG9t YWluLmMKQEAgLTk3MCw3ICs5NzAsNyBAQCBpbnQgYXJjaF9zZXRfaW5mb19ndWVzdCgKICAgICAg ICAgaWYgKCBkICE9IGN1cnJlbnQtPmRvbWFpbiAmJiAhVk1fQVNTSVNUKGQsIG0ycF9zdHJpY3Qp ICYmCiAgICAgICAgICAgICAgaXNfcHZfZG9tYWluKGQpICYmICFpc19wdl8zMmJpdF9kb21haW4o ZCkgJiYKICAgICAgICAgICAgICB0ZXN0X2JpdChWTUFTU1RfVFlQRV9tMnBfc3RyaWN0LCAmYy5u YXQtPnZtX2Fzc2lzdCkgJiYKLSAgICAgICAgICAgICBhdG9taWNfcmVhZCgmZC0+YXJjaC5wdl9k b21haW4ubnJfbDRfcGFnZXMpICkKKyAgICAgICAgICAgICBhdG9taWNfcmVhZCgmZC0+YXJjaC5w di5ucl9sNF9wYWdlcykgKQogICAgICAgICB7CiAgICAgICAgICAgICBib29sIGRvbmUgPSBmYWxz ZTsKIApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2RvbWFpbl9wYWdlLmMgYi94ZW4vYXJjaC94 ODYvZG9tYWluX3BhZ2UuYwppbmRleCAwYzI0NTMwLi4xNWJhNmY1IDEwMDY0NAotLS0gYS94ZW4v YXJjaC94ODYvZG9tYWluX3BhZ2UuYworKysgYi94ZW4vYXJjaC94ODYvZG9tYWluX3BhZ2UuYwpA QCAtODUsNyArODUsNyBAQCB2b2lkICptYXBfZG9tYWluX3BhZ2UobWZuX3QgbWZuKQogICAgIGlm ICggIXYgfHwgIWlzX3B2X3ZjcHUodikgKQogICAgICAgICByZXR1cm4gbWZuX3RvX3ZpcnQobWZu X3gobWZuKSk7CiAKLSAgICBkY2FjaGUgPSAmdi0+ZG9tYWluLT5hcmNoLnB2X2RvbWFpbi5tYXBj YWNoZTsKKyAgICBkY2FjaGUgPSAmdi0+ZG9tYWluLT5hcmNoLnB2Lm1hcGNhY2hlOwogICAgIHZj YWNoZSA9ICZ2LT5hcmNoLnB2X3ZjcHUubWFwY2FjaGU7CiAgICAgaWYgKCAhZGNhY2hlLT5pbnVz ZSApCiAgICAgICAgIHJldHVybiBtZm5fdG9fdmlydChtZm5feChtZm4pKTsKQEAgLTE4OSw3ICsx ODksNyBAQCB2b2lkIHVubWFwX2RvbWFpbl9wYWdlKGNvbnN0IHZvaWQgKnB0cikKICAgICB2ID0g bWFwY2FjaGVfY3VycmVudF92Y3B1KCk7CiAgICAgQVNTRVJUKHYgJiYgaXNfcHZfdmNwdSh2KSk7 CiAKLSAgICBkY2FjaGUgPSAmdi0+ZG9tYWluLT5hcmNoLnB2X2RvbWFpbi5tYXBjYWNoZTsKKyAg ICBkY2FjaGUgPSAmdi0+ZG9tYWluLT5hcmNoLnB2Lm1hcGNhY2hlOwogICAgIEFTU0VSVChkY2Fj aGUtPmludXNlKTsKIAogICAgIGlkeCA9IFBGTl9ET1dOKHZhIC0gTUFQQ0FDSEVfVklSVF9TVEFS VCk7CkBAIC0yMzMsNyArMjMzLDcgQEAgdm9pZCB1bm1hcF9kb21haW5fcGFnZShjb25zdCB2b2lk ICpwdHIpCiAKIGludCBtYXBjYWNoZV9kb21haW5faW5pdChzdHJ1Y3QgZG9tYWluICpkKQogewot ICAgIHN0cnVjdCBtYXBjYWNoZV9kb21haW4gKmRjYWNoZSA9ICZkLT5hcmNoLnB2X2RvbWFpbi5t YXBjYWNoZTsKKyAgICBzdHJ1Y3QgbWFwY2FjaGVfZG9tYWluICpkY2FjaGUgPSAmZC0+YXJjaC5w di5tYXBjYWNoZTsKICAgICB1bnNpZ25lZCBpbnQgYml0bWFwX3BhZ2VzOwogCiAgICAgQVNTRVJU KGlzX3B2X2RvbWFpbihkKSk7CkBAIC0yNjEsNyArMjYxLDcgQEAgaW50IG1hcGNhY2hlX2RvbWFp bl9pbml0KHN0cnVjdCBkb21haW4gKmQpCiBpbnQgbWFwY2FjaGVfdmNwdV9pbml0KHN0cnVjdCB2 Y3B1ICp2KQogewogICAgIHN0cnVjdCBkb21haW4gKmQgPSB2LT5kb21haW47Ci0gICAgc3RydWN0 IG1hcGNhY2hlX2RvbWFpbiAqZGNhY2hlID0gJmQtPmFyY2gucHZfZG9tYWluLm1hcGNhY2hlOwor ICAgIHN0cnVjdCBtYXBjYWNoZV9kb21haW4gKmRjYWNoZSA9ICZkLT5hcmNoLnB2Lm1hcGNhY2hl OwogICAgIHVuc2lnbmVkIGxvbmcgaTsKICAgICB1bnNpZ25lZCBpbnQgZW50cyA9IGQtPm1heF92 Y3B1cyAqIE1BUENBQ0hFX1ZDUFVfRU5UUklFUzsKICAgICB1bnNpZ25lZCBpbnQgbnIgPSBQRk5f VVAoQklUU19UT19MT05HUyhlbnRzKSAqIHNpemVvZihsb25nKSk7CmRpZmYgLS1naXQgYS94ZW4v YXJjaC94ODYvZG9tY3RsLmMgYi94ZW4vYXJjaC94ODYvZG9tY3RsLmMKaW5kZXggNmYxYzQzZS4u ZTI3ZTk3MSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2RvbWN0bC5jCisrKyBiL3hlbi9hcmNo L3g4Ni9kb21jdGwuYwpAQCAtMTk0LDcgKzE5NCw3IEBAIHN0YXRpYyBpbnQgdXBkYXRlX2RvbWFp bl9jcHVpZF9pbmZvKHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAgICAgICAgICAgYnJlYWs7CiAg ICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGQtPmFyY2gucHZfZG9tYWluLmNwdWlkbWFza3Mt Pl8xY2QgPSBtYXNrOworICAgICAgICAgICAgZC0+YXJjaC5wdi5jcHVpZG1hc2tzLT5fMWNkID0g bWFzazsKICAgICAgICAgfQogICAgICAgICBicmVhazsKIApAQCAtMjA2LDcgKzIwNiw3IEBAIHN0 YXRpYyBpbnQgdXBkYXRlX2RvbWFpbl9jcHVpZF9pbmZvKHN0cnVjdCBkb21haW4gKmQsCiAgICAg ICAgICAgICBpZiAoIGJvb3RfY3B1X2RhdGEueDg2X3ZlbmRvciA9PSBYODZfVkVORE9SX0FNRCAp CiAgICAgICAgICAgICAgICAgbWFzayAmPSAofjBVTEwgPDwgMzIpIHwgY3RsLT5lY3g7CiAKLSAg ICAgICAgICAgIGQtPmFyY2gucHZfZG9tYWluLmNwdWlkbWFza3MtPl82YyA9IG1hc2s7CisgICAg ICAgICAgICBkLT5hcmNoLnB2LmNwdWlkbWFza3MtPl82YyA9IG1hc2s7CiAgICAgICAgIH0KICAg ICAgICAgYnJlYWs7CiAKQEAgLTIyMyw3ICsyMjMsNyBAQCBzdGF0aWMgaW50IHVwZGF0ZV9kb21h aW5fY3B1aWRfaW5mbyhzdHJ1Y3QgZG9tYWluICpkLAogICAgICAgICAgICAgaWYgKCBib290X2Nw dV9kYXRhLng4Nl92ZW5kb3IgPT0gWDg2X1ZFTkRPUl9BTUQgKQogICAgICAgICAgICAgICAgIG1h c2sgJj0gKCh1aW50NjRfdCllYXggPDwgMzIpIHwgZWJ4OwogCi0gICAgICAgICAgICBkLT5hcmNo LnB2X2RvbWFpbi5jcHVpZG1hc2tzLT5fN2FiMCA9IG1hc2s7CisgICAgICAgICAgICBkLT5hcmNo LnB2LmNwdWlkbWFza3MtPl83YWIwID0gbWFzazsKICAgICAgICAgfQogCiAgICAgICAgIC8qCkBA IC0yNjIsNyArMjYyLDcgQEAgc3RhdGljIGludCB1cGRhdGVfZG9tYWluX2NwdWlkX2luZm8oc3Ry dWN0IGRvbWFpbiAqZCwKICAgICAgICAgICAgIGlmICggYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9y ID09IFg4Nl9WRU5ET1JfSU5URUwgKQogICAgICAgICAgICAgICAgIG1hc2sgJj0gKH4wVUxMIDw8 IDMyKSB8IGVheDsKIAotICAgICAgICAgICAgZC0+YXJjaC5wdl9kb21haW4uY3B1aWRtYXNrcy0+ RGExID0gbWFzazsKKyAgICAgICAgICAgIGQtPmFyY2gucHYuY3B1aWRtYXNrcy0+RGExID0gbWFz azsKICAgICAgICAgfQogICAgICAgICBicmVhazsKIApAQCAtMzA1LDcgKzMwNSw3IEBAIHN0YXRp YyBpbnQgdXBkYXRlX2RvbWFpbl9jcHVpZF9pbmZvKHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAg ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGQtPmFyY2gucHZf ZG9tYWluLmNwdWlkbWFza3MtPmUxY2QgPSBtYXNrOworICAgICAgICAgICAgZC0+YXJjaC5wdi5j cHVpZG1hc2tzLT5lMWNkID0gbWFzazsKICAgICAgICAgfQogICAgICAgICBicmVhazsKIApkaWZm IC0tZ2l0IGEveGVuL2FyY2gveDg2L21tLmMgYi94ZW4vYXJjaC94ODYvbW0uYwppbmRleCA4YWM0 NDEyLi4yNmM0NTUxIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0uYworKysgYi94ZW4vYXJj aC94ODYvbW0uYwpAQCAtNTAxLDcgKzUwMSw3IEBAIHZvaWQgbWFrZV9jcjMoc3RydWN0IHZjcHUg KnYsIG1mbl90IG1mbikKICAgICBzdHJ1Y3QgZG9tYWluICpkID0gdi0+ZG9tYWluOwogCiAgICAg di0+YXJjaC5jcjMgPSBtZm5feChtZm4pIDw8IFBBR0VfU0hJRlQ7Ci0gICAgaWYgKCBpc19wdl9k b21haW4oZCkgJiYgZC0+YXJjaC5wdl9kb21haW4ucGNpZCApCisgICAgaWYgKCBpc19wdl9kb21h aW4oZCkgJiYgZC0+YXJjaC5wdi5wY2lkICkKICAgICAgICAgdi0+YXJjaC5jcjMgfD0gZ2V0X3Bj aWRfYml0cyh2LCBmYWxzZSk7CiB9CiAKQEAgLTUxNCw5ICs1MTQsOSBAQCB1bnNpZ25lZCBsb25n IHB2X2d1ZXN0X2NyNF90b19yZWFsX2NyNChjb25zdCBzdHJ1Y3QgdmNwdSAqdikKICAgICBjcjQg fD0gbW11X2NyNF9mZWF0dXJlcyAmIChYODZfQ1I0X1BTRSB8IFg4Nl9DUjRfU01FUCB8IFg4Nl9D UjRfU01BUCB8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWDg2X0NSNF9PU1hTQVZF IHwgWDg2X0NSNF9GU0dTQkFTRSk7CiAKLSAgICBpZiAoIGQtPmFyY2gucHZfZG9tYWluLnBjaWQg KQorICAgIGlmICggZC0+YXJjaC5wdi5wY2lkICkKICAgICAgICAgY3I0IHw9IFg4Nl9DUjRfUENJ REU7Ci0gICAgZWxzZSBpZiAoICFkLT5hcmNoLnB2X2RvbWFpbi54cHRpICkKKyAgICBlbHNlIGlm ICggIWQtPmFyY2gucHYueHB0aSApCiAgICAgICAgIGNyNCB8PSBYODZfQ1I0X1BHRTsKIAogICAg IGNyNCB8PSBkLT5hcmNoLnZ0c2MgPyBYODZfQ1I0X1RTRCA6IDA7CkBAIC01MzMsNyArNTMzLDcg QEAgdm9pZCB3cml0ZV9wdGJhc2Uoc3RydWN0IHZjcHUgKnYpCiAgICAgICAgICAgICAgID8gcHZf Z3Vlc3RfY3I0X3RvX3JlYWxfY3I0KHYpCiAgICAgICAgICAgICAgIDogKChyZWFkX2NyNCgpICYg fihYODZfQ1I0X1BDSURFIHwgWDg2X0NSNF9UU0QpKSB8IFg4Nl9DUjRfUEdFKTsKIAotICAgIGlm ICggaXNfcHZfdmNwdSh2KSAmJiB2LT5kb21haW4tPmFyY2gucHZfZG9tYWluLnhwdGkgKQorICAg IGlmICggaXNfcHZfdmNwdSh2KSAmJiB2LT5kb21haW4tPmFyY2gucHYueHB0aSApCiAgICAgewog ICAgICAgICBjcHVfaW5mby0+cm9vdF9wZ3RfY2hhbmdlZCA9IHRydWU7CiAgICAgICAgIGNwdV9p bmZvLT5wdl9jcjMgPSBfX3BhKHRoaXNfY3B1KHJvb3RfcGd0KSk7CkBAIC0xNzUzLDcgKzE3NTMs NyBAQCBzdGF0aWMgaW50IGFsbG9jX2w0X3RhYmxlKHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UpCiAg ICAgewogICAgICAgICBpbml0X3hlbl9sNF9zbG90cyhwbDRlLCBfbWZuKHBmbiksCiAgICAgICAg ICAgICAgICAgICAgICAgICAgIGQsIElOVkFMSURfTUZOLCBWTV9BU1NJU1QoZCwgbTJwX3N0cmlj dCkpOwotICAgICAgICBhdG9taWNfaW5jKCZkLT5hcmNoLnB2X2RvbWFpbi5ucl9sNF9wYWdlcyk7 CisgICAgICAgIGF0b21pY19pbmMoJmQtPmFyY2gucHYubnJfbDRfcGFnZXMpOwogICAgICAgICBy YyA9IDA7CiAgICAgfQogICAgIHVubWFwX2RvbWFpbl9wYWdlKHBsNGUpOwpAQCAtMTg3Myw3ICsx ODczLDcgQEAgc3RhdGljIGludCBmcmVlX2w0X3RhYmxlKHN0cnVjdCBwYWdlX2luZm8gKnBhZ2Up CiAKICAgICBpZiAoIHJjID49IDAgKQogICAgIHsKLSAgICAgICAgYXRvbWljX2RlYygmZC0+YXJj aC5wdl9kb21haW4ubnJfbDRfcGFnZXMpOworICAgICAgICBhdG9taWNfZGVjKCZkLT5hcmNoLnB2 Lm5yX2w0X3BhZ2VzKTsKICAgICAgICAgcmMgPSAwOwogICAgIH0KIApAQCAtMzc4NCw3ICszNzg0 LDcgQEAgbG9uZyBkb19tbXVfdXBkYXRlKAogICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7 CiAgICAgICAgICAgICAgICAgICAgIHJjID0gbW9kX2w0X2VudHJ5KHZhLCBsNGVfZnJvbV9pbnRw dGUocmVxLnZhbCksIG1mbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y21kID09IE1NVV9QVF9VUERBVEVfUFJFU0VSVkVfQUQsIHYpOwotICAgICAgICAgICAgICAgICAg ICBpZiAoICFyYyAmJiBwdF9vd25lci0+YXJjaC5wdl9kb21haW4ueHB0aSApCisgICAgICAgICAg ICAgICAgICAgIGlmICggIXJjICYmIHB0X293bmVyLT5hcmNoLnB2LnhwdGkgKQogICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGxvY2FsX2luX3VzZSA9 IGZhbHNlOwogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHYvZG9tMF9idWlsZC5jIGIveGVu L2FyY2gveDg2L3B2L2RvbTBfYnVpbGQuYwppbmRleCAzNGM3N2JjLi4wNzgyODhiIDEwMDY0NAot LS0gYS94ZW4vYXJjaC94ODYvcHYvZG9tMF9idWlsZC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9wdi9k b20wX2J1aWxkLmMKQEAgLTM4Nyw4ICszODcsOCBAQCBpbnQgX19pbml0IGRvbTBfY29uc3RydWN0 X3B2KHN0cnVjdCBkb21haW4gKmQsCiAgICAgaWYgKCBjb21wYXQzMiApCiAgICAgewogICAgICAg ICBkLT5hcmNoLmlzXzMyYml0X3B2ID0gZC0+YXJjaC5oYXNfMzJiaXRfc2hpbmZvID0gMTsKLSAg ICAgICAgZC0+YXJjaC5wdl9kb21haW4ueHB0aSA9IGZhbHNlOwotICAgICAgICBkLT5hcmNoLnB2 X2RvbWFpbi5wY2lkID0gZmFsc2U7CisgICAgICAgIGQtPmFyY2gucHYueHB0aSA9IGZhbHNlOwor ICAgICAgICBkLT5hcmNoLnB2LnBjaWQgPSBmYWxzZTsKICAgICAgICAgdi0+dmNwdV9pbmZvID0g KHZvaWQgKikmZC0+c2hhcmVkX2luZm8tPmNvbXBhdC52Y3B1X2luZm9bMF07CiAgICAgICAgIGlm ICggc2V0dXBfY29tcGF0X2FyZ194bGF0KHYpICE9IDAgKQogICAgICAgICAgICAgQlVHKCk7CmRp ZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHYvZG9tYWluLmMgYi94ZW4vYXJjaC94ODYvcHYvZG9t YWluLmMKaW5kZXggNTIxMDhkNC4uNDU0ZDU4MCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3B2 L2RvbWFpbi5jCisrKyBiL3hlbi9hcmNoL3g4Ni9wdi9kb21haW4uYwpAQCAtMTIyLDggKzEyMiw4 IEBAIGludCBzd2l0Y2hfY29tcGF0KHN0cnVjdCBkb21haW4gKmQpCiAKICAgICBkLT5hcmNoLng4 N19maXBfd2lkdGggPSA0OwogCi0gICAgZC0+YXJjaC5wdl9kb21haW4ueHB0aSA9IGZhbHNlOwot ICAgIGQtPmFyY2gucHZfZG9tYWluLnBjaWQgPSBmYWxzZTsKKyAgICBkLT5hcmNoLnB2LnhwdGkg PSBmYWxzZTsKKyAgICBkLT5hcmNoLnB2LnBjaWQgPSBmYWxzZTsKIAogICAgIHJldHVybiAwOwog CkBAIC0xNDIsNyArMTQyLDcgQEAgc3RhdGljIGludCBwdl9jcmVhdGVfZ2R0X2xkdF9sMXRhYihz dHJ1Y3QgdmNwdSAqdikKIHsKICAgICByZXR1cm4gY3JlYXRlX3BlcmRvbWFpbl9tYXBwaW5nKHYt PmRvbWFpbiwgR0RUX1ZJUlRfU1RBUlQodiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAxVSA8PCBHRFRfTERUX1ZDUFVfU0hJRlQsCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB2LT5kb21haW4tPmFyY2gucHZfZG9tYWluLmdkdF9sZHRfbDF0YWIsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2LT5kb21haW4tPmFyY2gucHYuZ2R0 X2xkdF9sMXRhYiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOwog fQogCkBAIC0yMTUsMTEgKzIxNSw5IEBAIHZvaWQgcHZfZG9tYWluX2Rlc3Ryb3koc3RydWN0IGRv bWFpbiAqZCkKICAgICBkZXN0cm95X3BlcmRvbWFpbl9tYXBwaW5nKGQsIEdEVF9MRFRfVklSVF9T VEFSVCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdEVF9MRFRfTUJZVEVTIDw8ICgy MCAtIFBBR0VfU0hJRlQpKTsKIAotICAgIHhmcmVlKGQtPmFyY2gucHZfZG9tYWluLmNwdWlkbWFz a3MpOwotICAgIGQtPmFyY2gucHZfZG9tYWluLmNwdWlkbWFza3MgPSBOVUxMOworICAgIFhGUkVF KGQtPmFyY2gucHYuY3B1aWRtYXNrcyk7CiAKLSAgICBmcmVlX3hlbmhlYXBfcGFnZShkLT5hcmNo LnB2X2RvbWFpbi5nZHRfbGR0X2wxdGFiKTsKLSAgICBkLT5hcmNoLnB2X2RvbWFpbi5nZHRfbGR0 X2wxdGFiID0gTlVMTDsKKyAgICBGUkVFX1hFTkhFQVBfUEFHRShkLT5hcmNoLnB2LmdkdF9sZHRf bDF0YWIpOwogfQogCiAKQEAgLTIzNCwxNCArMjMyLDE0IEBAIGludCBwdl9kb21haW5faW5pdGlh bGlzZShzdHJ1Y3QgZG9tYWluICpkKQogCiAgICAgcHZfbDF0Zl9kb21haW5faW5pdChkKTsKIAot ICAgIGQtPmFyY2gucHZfZG9tYWluLmdkdF9sZHRfbDF0YWIgPQorICAgIGQtPmFyY2gucHYuZ2R0 X2xkdF9sMXRhYiA9CiAgICAgICAgIGFsbG9jX3hlbmhlYXBfcGFnZXMoMCwgTUVNRl9ub2RlKGRv bWFpbl90b19ub2RlKGQpKSk7Ci0gICAgaWYgKCAhZC0+YXJjaC5wdl9kb21haW4uZ2R0X2xkdF9s MXRhYiApCisgICAgaWYgKCAhZC0+YXJjaC5wdi5nZHRfbGR0X2wxdGFiICkKICAgICAgICAgZ290 byBmYWlsOwotICAgIGNsZWFyX3BhZ2UoZC0+YXJjaC5wdl9kb21haW4uZ2R0X2xkdF9sMXRhYik7 CisgICAgY2xlYXJfcGFnZShkLT5hcmNoLnB2LmdkdF9sZHRfbDF0YWIpOwogCiAgICAgaWYgKCBs ZXZlbGxpbmdfY2FwcyAmIH5MQ0FQX2ZhdWx0aW5nICYmCi0gICAgICAgICAoZC0+YXJjaC5wdl9k b21haW4uY3B1aWRtYXNrcyA9IHhtZW1kdXAoJmNwdWlkbWFza19kZWZhdWx0cykpID09IE5VTEwg KQorICAgICAgICAgKGQtPmFyY2gucHYuY3B1aWRtYXNrcyA9IHhtZW1kdXAoJmNwdWlkbWFza19k ZWZhdWx0cykpID09IE5VTEwgKQogICAgICAgICBnb3RvIGZhaWw7CiAKICAgICByYyA9IGNyZWF0 ZV9wZXJkb21haW5fbWFwcGluZyhkLCBHRFRfTERUX1ZJUlRfU1RBUlQsCkBAIC0yNTUsOCArMjUz LDggQEAgaW50IHB2X2RvbWFpbl9pbml0aWFsaXNlKHN0cnVjdCBkb21haW4gKmQpCiAgICAgLyog NjQtYml0IFBWIGd1ZXN0IGJ5IGRlZmF1bHQuICovCiAgICAgZC0+YXJjaC5pc18zMmJpdF9wdiA9 IGQtPmFyY2guaGFzXzMyYml0X3NoaW5mbyA9IDA7CiAKLSAgICBkLT5hcmNoLnB2X2RvbWFpbi54 cHRpID0gb3B0X3hwdGkgJiAoaXNfaGFyZHdhcmVfZG9tYWluKGQpCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgID8gT1BUX1hQVElfRE9NMCA6IE9QVF9YUFRJX0RPTVUp OworICAgIGQtPmFyY2gucHYueHB0aSA9IG9wdF94cHRpICYgKGlzX2hhcmR3YXJlX2RvbWFpbihk KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gT1BUX1hQVElfRE9NMCA6IE9Q VF9YUFRJX0RPTVUpOwogCiAgICAgaWYgKCAhaXNfcHZfMzJiaXRfZG9tYWluKGQpICYmIHVzZV9p bnZwY2lkICYmIGNwdV9oYXNfcGNpZCApCiAgICAgICAgIHN3aXRjaCAoIG9wdF9wY2lkICkKQEAg LTI2NSwxNSArMjYzLDE1IEBAIGludCBwdl9kb21haW5faW5pdGlhbGlzZShzdHJ1Y3QgZG9tYWlu ICpkKQogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgY2FzZSBQQ0lEX0FMTDoKLSAgICAg ICAgICAgIGQtPmFyY2gucHZfZG9tYWluLnBjaWQgPSB0cnVlOworICAgICAgICAgICAgZC0+YXJj aC5wdi5wY2lkID0gdHJ1ZTsKICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIGNhc2UgUENJ RF9YUFRJOgotICAgICAgICAgICAgZC0+YXJjaC5wdl9kb21haW4ucGNpZCA9IGQtPmFyY2gucHZf ZG9tYWluLnhwdGk7CisgICAgICAgICAgICBkLT5hcmNoLnB2LnBjaWQgPSBkLT5hcmNoLnB2Lnhw dGk7CiAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICBjYXNlIFBDSURfTk9YUFRJOgotICAg ICAgICAgICAgZC0+YXJjaC5wdl9kb21haW4ucGNpZCA9ICFkLT5hcmNoLnB2X2RvbWFpbi54cHRp OworICAgICAgICAgICAgZC0+YXJjaC5wdi5wY2lkID0gIWQtPmFyY2gucHYueHB0aTsKICAgICAg ICAgICAgIGJyZWFrOwogCiAgICAgICAgIGRlZmF1bHQ6CkBAIC0yOTUsMTQgKzI5MywxMyBAQCBz dGF0aWMgdm9pZCBfdG9nZ2xlX2d1ZXN0X3B0KHN0cnVjdCB2Y3B1ICp2KQogCiAgICAgdi0+YXJj aC5mbGFncyBePSBURl9rZXJuZWxfbW9kZTsKICAgICB1cGRhdGVfY3IzKHYpOwotICAgIGlmICgg ZC0+YXJjaC5wdl9kb21haW4ueHB0aSApCisgICAgaWYgKCBkLT5hcmNoLnB2LnhwdGkgKQogICAg IHsKICAgICAgICAgc3RydWN0IGNwdV9pbmZvICpjcHVfaW5mbyA9IGdldF9jcHVfaW5mbygpOwog CiAgICAgICAgIGNwdV9pbmZvLT5yb290X3BndF9jaGFuZ2VkID0gdHJ1ZTsKICAgICAgICAgY3B1 X2luZm8tPnB2X2NyMyA9IF9fcGEodGhpc19jcHUocm9vdF9wZ3QpKSB8Ci0gICAgICAgICAgICAg ICAgICAgICAgICAgICAoZC0+YXJjaC5wdl9kb21haW4ucGNpZAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgID8gZ2V0X3BjaWRfYml0cyh2LCB0cnVlKSA6IDApOworICAgICAgICAgICAgICAg ICAgICAgICAgICAgKGQtPmFyY2gucHYucGNpZCA/IGdldF9wY2lkX2JpdHModiwgdHJ1ZSkgOiAw KTsKICAgICB9CiAKICAgICAvKiBEb24ndCBmbHVzaCB1c2VyIGdsb2JhbCBtYXBwaW5ncyBmcm9t IHRoZSBUTEIuIERvbid0IHRpY2sgVExCIGNsb2NrLiAqLwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1 ZGUvYXNtLXg4Ni9kb21haW4uaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvZG9tYWluLmgKaW5kZXgg MDlmNmIzZC4uMGM3NWMwMiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21haW4u aAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2RvbWFpbi5oCkBAIC0zMDUsNyArMzA1LDcgQEAg c3RydWN0IGFyY2hfZG9tYWluCiAgICAgc3RydWN0IGxpc3RfaGVhZCBwZGV2X2xpc3Q7CiAKICAg ICB1bmlvbiB7Ci0gICAgICAgIHN0cnVjdCBwdl9kb21haW4gcHZfZG9tYWluOworICAgICAgICBz dHJ1Y3QgcHZfZG9tYWluIHB2OwogICAgICAgICBzdHJ1Y3QgaHZtX2RvbWFpbiBodm1fZG9tYWlu OwogICAgIH07CiAKQEAgLTQ1OCw3ICs0NTgsNyBAQCBzdHJ1Y3QgYXJjaF9kb21haW4KICNkZWZp bmUgZ2R0X2xkdF9wdF9pZHgodikgXAogICAgICAgKCh2KS0+dmNwdV9pZCA+PiAoUEFHRVRBQkxF X09SREVSIC0gR0RUX0xEVF9WQ1BVX1NISUZUKSkKICNkZWZpbmUgcHZfZ2R0X3B0ZXModikgXAot ICAgICgodiktPmRvbWFpbi0+YXJjaC5wdl9kb21haW4uZ2R0X2xkdF9sMXRhYltnZHRfbGR0X3B0 X2lkeCh2KV0gKyBcCisgICAgKCh2KS0+ZG9tYWluLT5hcmNoLnB2LmdkdF9sZHRfbDF0YWJbZ2R0 X2xkdF9wdF9pZHgodildICsgXAogICAgICAoKCh2KS0+dmNwdV9pZCA8PCBHRFRfTERUX1ZDUFVf U0hJRlQpICYgKEwxX1BBR0VUQUJMRV9FTlRSSUVTIC0gMSkpKQogI2RlZmluZSBwdl9sZHRfcHRl cyh2KSAocHZfZ2R0X3B0ZXModikgKyAxNikKIApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNt LXg4Ni9mbHVzaHRsYi5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9mbHVzaHRsYi5oCmluZGV4IGVk NWY0NWUuLjQzNDgyMWEgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvZmx1c2h0bGIu aAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2ZsdXNodGxiLmgKQEAgLTEzOCw3ICsxMzgsNyBA QCB2b2lkIGZsdXNoX2FyZWFfbWFzayhjb25zdCBjcHVtYXNrX3QgKiwgY29uc3Qgdm9pZCAqdmEs IHVuc2lnbmVkIGludCBmbGFncyk7CiAKICNkZWZpbmUgZmx1c2hfcm9vdF9wZ3RibF9kb21haW4o ZCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiB7ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXAotICAgIGlmICggaXNfcHZfZG9tYWluKGQpICYmIChkKS0+YXJjaC5wdl9kb21haW4ueHB0 aSApICAgICAgICAgICAgICAgICAgIFwKKyAgICBpZiAoIGlzX3B2X2RvbWFpbihkKSAmJiAoZCkt PmFyY2gucHYueHB0aSApICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgIGZsdXNo X21hc2soKGQpLT5kaXJ0eV9jcHVtYXNrLCBGTFVTSF9ST09UX1BHVEJMKTsgICAgICAgICAgICAg ICAgXAogfQogCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L3NoYWRvdy5oIGIveGVu L2luY2x1ZGUvYXNtLXg4Ni9zaGFkb3cuaAppbmRleCBmNDBmNDExLi5iM2ViZTU2IDEwMDY0NAot LS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3NoYWRvdy5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14 ODYvc2hhZG93LmgKQEAgLTE2OSw3ICsxNjksNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgcHZfbDF0 Zl9jaGVja19wdGUoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IGxldmVsLAogICAgIEFT U0VSVChpc19wdl9kb21haW4oZCkpOwogICAgIEFTU0VSVCghKHB0ZSAmIF9QQUdFX1BSRVNFTlQp KTsKIAotICAgIGlmICggZC0+YXJjaC5wdl9kb21haW4uY2hlY2tfbDF0ZiAmJiAhcGFnaW5nX21v ZGVfc2hfZm9yY2VkKGQpICYmCisgICAgaWYgKCBkLT5hcmNoLnB2LmNoZWNrX2wxdGYgJiYgIXBh Z2luZ19tb2RlX3NoX2ZvcmNlZChkKSAmJgogICAgICAgICAgKCgobGV2ZWwgPiAxKSAmJiAocHRl ICYgX1BBR0VfUFNFKSkgfHwgIWlzX2wxdGZfc2FmZV9tYWRkcihwdGUpKSApCiAgICAgewogI2lm ZGVmIENPTkZJR19TSEFET1dfUEFHSU5HCkBAIC0yMjQsNyArMjI0LDcgQEAgdm9pZCBwdl9sMXRm X3Rhc2tsZXQodW5zaWduZWQgbG9uZyBkYXRhKTsKIAogc3RhdGljIGlubGluZSB2b2lkIHB2X2wx dGZfZG9tYWluX2luaXQoc3RydWN0IGRvbWFpbiAqZCkKIHsKLSAgICBkLT5hcmNoLnB2X2RvbWFp bi5jaGVja19sMXRmID0KKyAgICBkLT5hcmNoLnB2LmNoZWNrX2wxdGYgPQogICAgICAgICBvcHRf cHZfbDF0ZiAmIChpc19oYXJkd2FyZV9kb21haW4oZCkKICAgICAgICAgICAgICAgICAgICAgICAg PyBPUFRfUFZfTDFURl9ET00wIDogT1BUX1BWX0wxVEZfRE9NVSk7CiAKLS0gCjIuMS40CgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1h aWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54 ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==