From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= Subject: [PATCH v4.1 4/6] xen/x86: Allow stubdom access to irq created for msi. Date: Fri, 8 Feb 2019 11:17:05 +0100 Message-ID: <20190208101705.31790-1-marmarek@invisiblethingslab.com> References: <20190208101559.GA21228@mail-itl> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gs3Ds-0004L8-O0 for xen-devel@lists.xenproject.org; Fri, 08 Feb 2019 10:17:28 +0000 In-Reply-To: <20190208101559.GA21228@mail-itl> 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: Kevin Tian , Stefano Stabellini , Wei Liu , Suravee Suthikulpanit , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= , Tim Deegan , Simon Gaiser , Julien Grall , Jan Beulich , Brian Woods , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org U3R1YmRvbWFpbnMgbmVlZCB0byBiZSBnaXZlbiBzdWZmaWNpZW50IHByaXZpbGVnZSBvdmVyIHRo ZSBndWVzdCB3aGljaCBpdApwcm92aWRlcyBlbXVsYXRpb24gZm9yIGluIG9yZGVyIGZvciBQQ0kg cGFzc3Rocm91Z2ggdG8gd29yayBjb3JyZWN0bHkuCldoZW4gYSBIVk0gZG9tYWluIHRyeSB0byBl bmFibGUgTVNJLCBRRU1VIGluIHN0dWJkb21haW4gY2FsbHMKUEhZU0RFVk9QX21hcF9waXJxLCBi dXQgbGF0ZXIgaXQgbmVlZHMgdG8gY2FsbCBYRU5fRE9NQ1RMX2JpbmRfcHRfaXJxIGFzCnBhcnQg b2YgeGNfZG9tYWluX3VwZGF0ZV9tc2lfaXJxLiBBbGxvdyBmb3IgdGhhdCBhcyBwYXJ0IG9mClBI WVNERVZPUF9tYXBfcGlycS4KClRoaXMgaXMgbm90IG5lZWRlZCBmb3IgUENJIElOVHgsIGJlY2F1 c2UgSVJRIGluIHRoYXQgY2FzZSBpcyBrbm93bgpiZWZvcmVoYW5kIGFuZCB0aGUgc3R1YmRvbWFp biBpcyBnaXZlbiBwZXJtaXNzaW9ucyBvdmVyIHRoaXMgSVJRIGJ5CmxpYnhsX19kZXZpY2VfcGNp X2FkZCAodGhlcmUncyBhIGRvX3BjaV9hZGQgYWdhaW5zdCB0aGUgc3R1YmRvbWFpbikuCgpjcmVh dGVfaXJxKCkgYWxyZWFkeSBncmFudCBJUlEgYWNjZXNzIHRvIGhhcmR3YXJlX2RvbWFpbiwgd2l0 aAphc3N1bXB0aW9uIHRoZSBkZXZpY2UgbW9kZWwgKHNvbWV0aGluZyBtYW5hZ2luZyB0aGlzIElS USkgbGl2ZXMgdGhlcmUuCk1vZGlmeSBjcmVhdGVfaXJxKCkgdG8gdGFrZSBhZGRpdGlvbmFsIHBh cmFtZXRlciBwb2ludGluZyBhdCBkZXZpY2UKbW9kZWwgZG9tYWluIC0gd2hpY2ggbWF5IGJlIGRv bTAgb3Igc3R1YmRvbWFpbi4gRG8gdGhlIHNhbWUgd2l0aApkZXN0cm95X2lycSgpIChhbmQgbXNp X2ZyZWVfaXJxKCkgd2hpY2ggY2FsbHMgaXQpIHRvIHJldmVyc2UgdGhlCm9wZXJhdGlvbi4KClRo ZW4sIGFkanVzdCBhbGwgY2FsbGVycyB0byBwcm92aWRlIHRoZSBwYXJhbWV0ZXIuIEluIGNhc2Ug b2YgY2FsbHMgbm90CnJlbGF0ZWQgdG8gc3R1YmRvbWFpbi1pbml0aWF0ZWQgYWxsb2NhdGlvbnMs IGdpdmUgaXQgaGFyZHdhcmVfZG9tYWluLCBzbwp0aGUgYmVoYXZpb3IgaXMgdW5jaGFuZ2VkIHRo ZXJlLgoKSW5zcGlyZWQgYnkgaHR0cHM6Ly9naXRodWIuY29tL09wZW5YVC94ZW5jbGllbnQtb2Uv YmxvYi81ZTBlNzMwNGE1YTNjNzVlZjAxMjQwYTFlMzY3MzY2NWIyYWFmMDVlL3JlY2lwZXMtZXh0 ZW5kZWQveGVuL2ZpbGVzL3N0dWJkb21haW4tbXNpLWlycS1hY2Nlc3MucGF0Y2ggYnkgRXJpYyBD aGFudWRldCA8Y2hhbnVkZXRlQGFpbmZvc2VjLmNvbT4uCgpTaWduZWQtb2ZmLWJ5OiBTaW1vbiBH YWlzZXIgPHNpbW9uQGludmlzaWJsZXRoaW5nc2xhYi5jb20+ClNpZ25lZC1vZmYtYnk6IE1hcmVr IE1hcmN6eWtvd3NraS1Hw7NyZWNraSA8bWFybWFyZWtAaW52aXNpYmxldGhpbmdzbGFiLmNvbT4K LS0tCkNoYW5nZXMgaW4gdjM6CiAtIGV4dGVuZCBjb21taXQgbWVzc2FnZQpDaGFuZ2VzIGluIHY0 OgogLSBhZGQgbWlzc2luZyBkZXN0cm95X2lycSBvbiBlcnJvciBwYXRoCkNoYW5nZXMgaW4gdjQu MToKIC0gbW92ZSBpcnFfe2dyYW50LHJldm9rZX1fYWNjZXNzKCkgdG8ge2NyZWF0ZSxkZXN0cm95 fV9pcnEoKSwgd2hpY2gKICAgYmFzaWNhbGx5IG1ha2UgaXQgYSBkaWZmZXJlbnQgcGF0Y2gKClRo ZXJlIGlzIG9uZSBjb2RlIHBhdGggd2hlcmUgSSBoYXZlbid0IG1hbmFnZWQgdG8gcHJvcGVybHkg ZXh0cmFjdApwb3NzaWJsZSBzdHViZG9tYWluIGluIHVzZToKcGNpX3JlbW92ZV9kZXZpY2UoKQog LT4gcGNpX2NsZWFudXBfbXNpKCkKICAgLT4gbXNpX2ZyZWVfaXJxcygpCiAgICAgLT4gbXNpX2Zy ZWVfaXJxKCkKICAgICAgIC0+IGRlc3Ryb3lfaXJxKCkKCkZvciBub3cgSSd2ZSBoYXJkY29kZWQg aGFyZHdhcmVfZG9tYWluIHRoZXJlIChpbiBtc2lfZnJlZV9pcnFzKS4gQ2FuIGl0IGhhcHBlbgp3 aGVuIGRldmljZSBpcyBzdGlsbCBhc3NpZ25lZCB0byBzb21lIGRvbVU/Ci0tLQogeGVuL2FyY2gv eDg2L2hwZXQuYyAgICAgICAgICAgICAgICAgICAgICB8ICA1ICstLQogeGVuL2FyY2gveDg2L2ly cS5jICAgICAgICAgICAgICAgICAgICAgICB8IDQ2ICsrKysrKysrKysrKysrLS0tLS0tLS0tLQog eGVuL2FyY2gveDg2L21zaS5jICAgICAgICAgICAgICAgICAgICAgICB8ICA2ICsrLS0KIHhlbi9k cml2ZXJzL2NoYXIvbnMxNjU1MC5jICAgICAgICAgICAgICAgfCAgNiArKy0tCiB4ZW4vZHJpdmVy cy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfaW5pdC5jIHwgIDQgKy0tCiB4ZW4vZHJpdmVycy9wYXNz dGhyb3VnaC92dGQvaW9tbXUuYyAgICAgIHwgIDcgKystLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9p cnEuaCAgICAgICAgICAgICAgICB8ICA0ICstLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9tc2kuaCAg ICAgICAgICAgICAgICB8ICAyICstCiA4IGZpbGVzIGNoYW5nZWQsIDQ2IGluc2VydGlvbnMoKyks IDM0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9ocGV0LmMgYi94ZW4v YXJjaC94ODYvaHBldC5jCmluZGV4IDRiMDg0ODhlZjEuLjZkYjcxZGZkNzEgMTAwNjQ0Ci0tLSBh L3hlbi9hcmNoL3g4Ni9ocGV0LmMKKysrIGIveGVuL2FyY2gveDg2L2hwZXQuYwpAQCAtMTEsNiAr MTEsNyBAQAogI2luY2x1ZGUgPHhlbi9zb2Z0aXJxLmg+CiAjaW5jbHVkZSA8eGVuL2lycS5oPgog I2luY2x1ZGUgPHhlbi9udW1hLmg+CisjaW5jbHVkZSA8eGVuL3NjaGVkLmg+CiAjaW5jbHVkZSA8 YXNtL2ZpeG1hcC5oPgogI2luY2x1ZGUgPGFzbS9kaXY2NC5oPgogI2luY2x1ZGUgPGFzbS9ocGV0 Lmg+CkBAIC0zNjgsMTMgKzM2OSwxMyBAQCBzdGF0aWMgaW50IF9faW5pdCBocGV0X2Fzc2lnbl9p cnEoc3RydWN0IGhwZXRfZXZlbnRfY2hhbm5lbCAqY2gpCiB7CiAgICAgaW50IGlycTsKIAotICAg IGlmICggKGlycSA9IGNyZWF0ZV9pcnEoTlVNQV9OT19OT0RFKSkgPCAwICkKKyAgICBpZiAoIChp cnEgPSBjcmVhdGVfaXJxKE5VTUFfTk9fTk9ERSwgaGFyZHdhcmVfZG9tYWluKSkgPCAwICkKICAg ICAgICAgcmV0dXJuIGlycTsKIAogICAgIGNoLT5tc2kuaXJxID0gaXJxOwogICAgIGlmICggaHBl dF9zZXR1cF9tc2lfaXJxKGNoKSApCiAgICAgewotICAgICAgICBkZXN0cm95X2lycShpcnEpOwor ICAgICAgICBkZXN0cm95X2lycShpcnEsIGhhcmR3YXJlX2RvbWFpbik7CiAgICAgICAgIHJldHVy biAtRUlOVkFMOwogICAgIH0KIApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2lycS5jIGIveGVu L2FyY2gveDg2L2lycS5jCmluZGV4IDhiNDRkNmNlMGIuLmQ0MWIzMmIyZjQgMTAwNjQ0Ci0tLSBh L3hlbi9hcmNoL3g4Ni9pcnEuYworKysgYi94ZW4vYXJjaC94ODYvaXJxLmMKQEAgLTE1Nyw3ICsx NTcsNyBAQCBpbnQgX19pbml0IGJpbmRfaXJxX3ZlY3RvcihpbnQgaXJxLCBpbnQgdmVjdG9yLCBj b25zdCBjcHVtYXNrX3QgKmNwdV9tYXNrKQogLyoKICAqIER5bmFtaWMgaXJxIGFsbG9jYXRlIGFu ZCBkZWFsbG9jYXRpb24gZm9yIE1TSQogICovCi1pbnQgY3JlYXRlX2lycShub2RlaWRfdCBub2Rl KQoraW50IGNyZWF0ZV9pcnEobm9kZWlkX3Qgbm9kZSwgc3RydWN0IGRvbWFpbiAqZG1fZG9tYWlu KQogewogICAgIGludCBpcnEsIHJldDsKICAgICBzdHJ1Y3QgaXJxX2Rlc2MgKmRlc2M7CkBAIC0x OTAsMTkgKzE5MCwxOSBAQCBpbnQgY3JlYXRlX2lycShub2RlaWRfdCBub2RlKQogICAgICAgICBk ZXNjLT5hcmNoLnVzZWQgPSBJUlFfVU5VU0VEOwogICAgICAgICBpcnEgPSByZXQ7CiAgICAgfQot ICAgIGVsc2UgaWYgKCBoYXJkd2FyZV9kb21haW4gKQorICAgIGVsc2UgaWYgKCBkbV9kb21haW4g KQogICAgIHsKLSAgICAgICAgcmV0ID0gaXJxX3Blcm1pdF9hY2Nlc3MoaGFyZHdhcmVfZG9tYWlu LCBpcnEpOworICAgICAgICByZXQgPSBpcnFfcGVybWl0X2FjY2VzcyhkbV9kb21haW4sIGlycSk7 CiAgICAgICAgIGlmICggcmV0ICkKICAgICAgICAgICAgIHByaW50ayhYRU5MT0dfR19FUlIKLSAg ICAgICAgICAgICAgICAgICAiQ291bGQgbm90IGdyYW50IERvbTAgYWNjZXNzIHRvIElSUSVkIChl cnJvciAlZClcbiIsCi0gICAgICAgICAgICAgICAgICAgaXJxLCByZXQpOworICAgICAgICAgICAg ICAgICAgICJDb3VsZCBub3QgZ3JhbnQgRG9tJXUgYWNjZXNzIHRvIElSUSVkIChlcnJvciAlZClc biIsCisgICAgICAgICAgICAgICAgICAgZG1fZG9tYWluLT5kb21haW5faWQsIGlycSwgcmV0KTsK ICAgICB9CiAKICAgICByZXR1cm4gaXJxOwogfQogCi12b2lkIGRlc3Ryb3lfaXJxKHVuc2lnbmVk IGludCBpcnEpCit2b2lkIGRlc3Ryb3lfaXJxKHVuc2lnbmVkIGludCBpcnEsIHN0cnVjdCBkb21h aW4gKmRtX2RvbWFpbikKIHsKICAgICBzdHJ1Y3QgaXJxX2Rlc2MgKmRlc2MgPSBpcnFfdG9fZGVz YyhpcnEpOwogICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7CkBAIC0yMTAsMTQgKzIxMCwxNCBAQCB2 b2lkIGRlc3Ryb3lfaXJxKHVuc2lnbmVkIGludCBpcnEpCiAKICAgICBCVUdfT04oIU1TSV9JUlEo aXJxKSk7CiAKLSAgICBpZiAoIGhhcmR3YXJlX2RvbWFpbiApCisgICAgaWYgKCBkbV9kb21haW4g KQogICAgIHsKLSAgICAgICAgaW50IGVyciA9IGlycV9kZW55X2FjY2VzcyhoYXJkd2FyZV9kb21h aW4sIGlycSk7CisgICAgICAgIGludCBlcnIgPSBpcnFfZGVueV9hY2Nlc3MoZG1fZG9tYWluLCBp cnEpOwogCiAgICAgICAgIGlmICggZXJyICkKICAgICAgICAgICAgIHByaW50ayhYRU5MT0dfR19F UlIKLSAgICAgICAgICAgICAgICAgICAiQ291bGQgbm90IHJldm9rZSBEb20wIGFjY2VzcyB0byBJ UlEldSAoZXJyb3IgJWQpXG4iLAotICAgICAgICAgICAgICAgICAgIGlycSwgZXJyKTsKKyAgICAg ICAgICAgICAgICAgICAiQ291bGQgbm90IHJldm9rZSBEb20ldSBhY2Nlc3MgdG8gSVJRJXUgKGVy cm9yICVkKVxuIiwKKyAgICAgICAgICAgICAgICAgICBkbV9kb21haW4tPmRvbWFpbl9pZCwgaXJx LCBlcnIpOwogICAgIH0KIAogICAgIHNwaW5fbG9ja19pcnFzYXZlKCZkZXNjLT5sb2NrLCBmbGFn cyk7CkBAIC0yMDEwLDcgKzIwMTAsOSBAQCBpbnQgbWFwX2RvbWFpbl9waXJxKAogICAgICAgICAg ICAgICAgICAgICBkLT5kb21haW5faWQsIGlycSk7CiAgICAgICAgICAgICBwY2lfZGlzYWJsZV9t c2kobXNpX2Rlc2MpOwogICAgICAgICAgICAgbXNpX2Rlc2MtPmlycSA9IC0xOwotICAgICAgICAg ICAgbXNpX2ZyZWVfaXJxKG1zaV9kZXNjKTsKKyAgICAgICAgICAgIG1zaV9mcmVlX2lycShtc2lf ZGVzYywKKyAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50LT5kb21haW4tPnRhcmdldCA9 PSBkID8gY3VycmVudC0+ZG9tYWluCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA6IGhhcmR3YXJlX2RvbWFpbik7CiAgICAgICAgICAgICByZXQg PSAtRUJVU1k7CiAgICAgICAgICAgICBnb3RvIGRvbmU7CiAgICAgICAgIH0KQEAgLTIwMzgsNyAr MjA0MCw5IEBAIGludCBtYXBfZG9tYWluX3BpcnEoCiAgICAgICAgICAgICBzcGluX3VubG9ja19p cnFyZXN0b3JlKCZkZXNjLT5sb2NrLCBmbGFncyk7CiAKICAgICAgICAgICAgIGluZm8gPSBOVUxM OwotICAgICAgICAgICAgaXJxID0gY3JlYXRlX2lycShOVU1BX05PX05PREUpOworICAgICAgICAg ICAgaXJxID0gY3JlYXRlX2lycShOVU1BX05PX05PREUsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGN1cnJlbnQtPmRvbWFpbi0+dGFyZ2V0ID09IGQgPyBjdXJyZW50LT5kb21haW4KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6 IGhhcmR3YXJlX2RvbWFpbik7CiAgICAgICAgICAgICByZXQgPSBpcnEgPj0gMCA/IHByZXBhcmVf ZG9tYWluX2lycV9waXJxKGQsIGlycSwgcGlycSArIG5yLCAmaW5mbykKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDogaXJxOwogICAgICAgICAgICAgaWYgKCByZXQgPCAwICkKQEAgLTIwOTUs NyArMjA5OSw5IEBAIGludCBtYXBfZG9tYWluX3BpcnEoCiAgICAgICAgICAgICAgICAgaXJxID0g aW5mby0+YXJjaC5pcnE7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBtc2lfZGVzYy0+aXJx ID0gLTE7Ci0gICAgICAgICAgICBtc2lfZnJlZV9pcnEobXNpX2Rlc2MpOworICAgICAgICAgICAg bXNpX2ZyZWVfaXJxKG1zaV9kZXNjLAorICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQt PmRvbWFpbi0+dGFyZ2V0ID09IGQgPyBjdXJyZW50LT5kb21haW4KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaGFyZHdhcmVfZG9tYWluKTsK ICAgICAgICAgICAgIGdvdG8gZG9uZTsKICAgICAgICAgfQogCkBAIC0yMjU1LDcgKzIyNjEsOSBA QCBpbnQgdW5tYXBfZG9tYWluX3BpcnEoc3RydWN0IGRvbWFpbiAqZCwgaW50IHBpcnEpCiAgICAg fQogCiAgICAgaWYgKG1zaV9kZXNjKQotICAgICAgICBtc2lfZnJlZV9pcnEobXNpX2Rlc2MpOwor ICAgICAgICBtc2lfZnJlZV9pcnEobXNpX2Rlc2MsCisgICAgICAgICAgICAgICAgICAgICBjdXJy ZW50LT5kb21haW4tPnRhcmdldCA9PSBkID8gY3VycmVudC0+ZG9tYWluCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaGFyZHdhcmVfZG9tYWluKTsK IAogIGRvbmU6CiAgICAgcmV0dXJuIHJldDsKQEAgLTI2NzEsMTAgKzI2NzksMTAgQEAgaW50IGFs bG9jYXRlX2FuZF9tYXBfbXNpX3BpcnEoc3RydWN0IGRvbWFpbiAqZCwgaW50IGluZGV4LCBpbnQg KnBpcnFfcCwKICAgICAgICAgICAgIG1zaS0+ZW50cnlfbnIgPSAxOwogICAgICAgICBpcnEgPSBp bmRleDsKICAgICAgICAgaWYgKCBpcnEgPT0gLTEgKQotICAgICAgICB7CiAgICAgY2FzZSBNQVBf UElSUV9UWVBFX01VTFRJX01TSToKLSAgICAgICAgICAgIGlycSA9IGNyZWF0ZV9pcnEoTlVNQV9O T19OT0RFKTsKLSAgICAgICAgfQorICAgICAgICAgICAgaXJxID0gY3JlYXRlX2lycShOVU1BX05P X05PREUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQtPmRvbWFpbi0+dGFy Z2V0ID09IGQgPyBjdXJyZW50LT5kb21haW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGhhcmR3YXJlX2RvbWFpbik7CiAKICAgICAg ICAgaWYgKCBpcnEgPCBucl9pcnFzX2dzaSB8fCBpcnEgPj0gbnJfaXJxcyApCiAgICAgICAgIHsK QEAgLTI3MTcsNyArMjcyNSw5IEBAIGludCBhbGxvY2F0ZV9hbmRfbWFwX21zaV9waXJxKHN0cnVj dCBkb21haW4gKmQsIGludCBpbmRleCwgaW50ICpwaXJxX3AsCiAgICAgICAgIGNhc2UgTUFQX1BJ UlFfVFlQRV9NU0k6CiAgICAgICAgICAgICBpZiAoIGluZGV4ID09IC0xICkKICAgICAgICAgY2Fz ZSBNQVBfUElSUV9UWVBFX01VTFRJX01TSToKLSAgICAgICAgICAgICAgICBkZXN0cm95X2lycShp cnEpOworICAgICAgICAgICAgICAgIGRlc3Ryb3lfaXJxKGlycSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjdXJyZW50LT5kb21haW4tPnRhcmdldCA9PSBkID8gY3VycmVudC0+ZG9tYWlu CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA6IGhhcmR3YXJlX2RvbWFpbik7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAg IH0KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tc2kuYyBiL3hlbi9hcmNoL3g4Ni9tc2kuYwpp bmRleCBiYWJjNDE0N2M0Li42NjAyNmUzY2E1IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbXNp LmMKKysrIGIveGVuL2FyY2gveDg2L21zaS5jCkBAIC02MzMsNyArNjMzLDcgQEAgaW50IF9fc2V0 dXBfbXNpX2lycShzdHJ1Y3QgaXJxX2Rlc2MgKmRlc2MsIHN0cnVjdCBtc2lfZGVzYyAqbXNpZGVz YywKICAgICByZXR1cm4gcmV0OwogfQogCi1pbnQgbXNpX2ZyZWVfaXJxKHN0cnVjdCBtc2lfZGVz YyAqZW50cnkpCitpbnQgbXNpX2ZyZWVfaXJxKHN0cnVjdCBtc2lfZGVzYyAqZW50cnksIHN0cnVj dCBkb21haW4gKmRtX2RvbWFpbikKIHsKICAgICB1bnNpZ25lZCBpbnQgbnIgPSBlbnRyeS0+bXNp X2F0dHJpYi50eXBlICE9IFBDSV9DQVBfSURfTVNJWAogICAgICAgICAgICAgICAgICAgICAgID8g ZW50cnktPm1zaS5udmVjIDogMTsKQEAgLTY0MSw3ICs2NDEsNyBAQCBpbnQgbXNpX2ZyZWVfaXJx KHN0cnVjdCBtc2lfZGVzYyAqZW50cnkpCiAgICAgd2hpbGUgKCBuci0tICkKICAgICB7CiAgICAg ICAgIGlmICggZW50cnlbbnJdLmlycSA+PSAwICkKLSAgICAgICAgICAgIGRlc3Ryb3lfaXJxKGVu dHJ5W25yXS5pcnEpOworICAgICAgICAgICAgZGVzdHJveV9pcnEoZW50cnlbbnJdLmlycSwgZG1f ZG9tYWluKTsKIAogICAgICAgICAvKiBGcmVlIHRoZSB1bnVzZWQgSVJURSBpZiBpbnRyIHJlbWFw IGVuYWJsZWQgKi8KICAgICAgICAgaWYgKCBpb21tdV9pbnRyZW1hcCApCkBAIC0xMjgwLDcgKzEy ODAsNyBAQCBzdGF0aWMgdm9pZCBtc2lfZnJlZV9pcnFzKHN0cnVjdCBwY2lfZGV2KiBkZXYpCiAg ICAgbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKCBlbnRyeSwgdG1wLCAmZGV2LT5tc2lfbGlzdCwg bGlzdCApCiAgICAgewogICAgICAgICBwY2lfZGlzYWJsZV9tc2koZW50cnkpOwotICAgICAgICBt c2lfZnJlZV9pcnEoZW50cnkpOworICAgICAgICBtc2lfZnJlZV9pcnEoZW50cnksIGhhcmR3YXJl X2RvbWFpbik7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9jaGFyL25zMTY1 NTAuYyBiL3hlbi9kcml2ZXJzL2NoYXIvbnMxNjU1MC5jCmluZGV4IDE4OWUxMjFiN2UuLjIwMzdi YmJmMDggMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL2NoYXIvbnMxNjU1MC5jCisrKyBiL3hlbi9k cml2ZXJzL2NoYXIvbnMxNjU1MC5jCkBAIC03MTksNyArNzE5LDcgQEAgc3RhdGljIHZvaWQgX19p bml0IG5zMTY1NTBfaW5pdF9pcnEoc3RydWN0IHNlcmlhbF9wb3J0ICpwb3J0KQogICAgIHN0cnVj dCBuczE2NTUwICp1YXJ0ID0gcG9ydC0+dWFydDsKIAogICAgIGlmICggdWFydC0+bXNpICkKLSAg ICAgICAgdWFydC0+aXJxID0gY3JlYXRlX2lycSgwKTsKKyAgICAgICAgdWFydC0+aXJxID0gY3Jl YXRlX2lycSgwLCBoYXJkd2FyZV9kb21haW4pOwogI2VuZGlmCiB9CiAKQEAgLTgxMiw5ICs4MTIs OSBAQCBzdGF0aWMgdm9pZCBfX2luaXQgbnMxNjU1MF9pbml0X3Bvc3RpcnEoc3RydWN0IHNlcmlh bF9wb3J0ICpwb3J0KQogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgdWFy dC0+aXJxID0gMDsKICAgICAgICAgICAgICAgICAgICAgaWYgKCBtc2lfZGVzYyApCi0gICAgICAg ICAgICAgICAgICAgICAgICBtc2lfZnJlZV9pcnEobXNpX2Rlc2MpOworICAgICAgICAgICAgICAg ICAgICAgICAgbXNpX2ZyZWVfaXJxKG1zaV9kZXNjLCBoYXJkd2FyZV9kb21haW4pOwogICAgICAg ICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICAgICBkZXN0cm95X2lycSht c2kuaXJxKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGRlc3Ryb3lfaXJxKG1zaS5pcnEsIGhh cmR3YXJlX2RvbWFpbik7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogCmRpZmYg LS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfaW5pdC5jIGIveGVuL2Ry aXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X2luaXQuYwppbmRleCAxN2YzOTU1MmE5Li40MjNj NDczYTYzIDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfaW5p dC5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9pbml0LmMKQEAgLTc4 MCw3ICs3ODAsNyBAQCBzdGF0aWMgYm9vbF90IF9faW5pdCBzZXRfaW9tbXVfaW50ZXJydXB0X2hh bmRsZXIoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUpCiAgICAgaHdfaXJxX2NvbnRyb2xsZXIgKmhh bmRsZXI7CiAgICAgdTE2IGNvbnRyb2w7CiAKLSAgICBpcnEgPSBjcmVhdGVfaXJxKE5VTUFfTk9f Tk9ERSk7CisgICAgaXJxID0gY3JlYXRlX2lycShOVU1BX05PX05PREUsIGhhcmR3YXJlX2RvbWFp bik7CiAgICAgaWYgKCBpcnEgPD0gMCApCiAgICAgewogICAgICAgICBkcHJpbnRrKFhFTkxPR19F UlIsICJJT01NVTogbm8gaXJxc1xuIik7CkBAIC04MTYsNyArODE2LDcgQEAgc3RhdGljIGJvb2xf dCBfX2luaXQgc2V0X2lvbW11X2ludGVycnVwdF9oYW5kbGVyKHN0cnVjdCBhbWRfaW9tbXUgKmlv bW11KQogICAgICAgICByZXQgPSByZXF1ZXN0X2lycShpcnEsIDAsIGlvbW11X2ludGVycnVwdF9o YW5kbGVyLCAiYW1kX2lvbW11IiwgaW9tbXUpOwogICAgIGlmICggcmV0ICkKICAgICB7Ci0gICAg ICAgIGRlc3Ryb3lfaXJxKGlycSk7CisgICAgICAgIGRlc3Ryb3lfaXJxKGlycSwgaGFyZHdhcmVf ZG9tYWluKTsKICAgICAgICAgQU1EX0lPTU1VX0RFQlVHKCJjYW4ndCByZXF1ZXN0IGlycVxuIik7 CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0 aHJvdWdoL3Z0ZC9pb21tdS5jIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMK aW5kZXggNTBhMGUyNTIyNC4uNzNjZjE2YzE0NSAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvcGFz c3Rocm91Z2gvdnRkL2lvbW11LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lv bW11LmMKQEAgLTExMzgsNyArMTEzOCw4IEBAIHN0YXRpYyBpbnQgX19pbml0IGlvbW11X3NldF9p bnRlcnJ1cHQoc3RydWN0IGFjcGlfZHJoZF91bml0ICpkcmhkKQogICAgIHN0cnVjdCBpcnFfZGVz YyAqZGVzYzsKIAogICAgIGlycSA9IGNyZWF0ZV9pcnEocmhzYSA/IHB4bV90b19ub2RlKHJoc2Et PnByb3hpbWl0eV9kb21haW4pCi0gICAgICAgICAgICAgICAgICAgICAgICAgIDogTlVNQV9OT19O T0RFKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgOiBOVU1BX05PX05PREUsCisgICAgICAg ICAgICAgICAgICAgICBoYXJkd2FyZV9kb21haW4pOwogICAgIGlmICggaXJxIDw9IDAgKQogICAg IHsKICAgICAgICAgZHByaW50ayhYRU5MT0dfRVJSIFZURFBSRUZJWCwgIklPTU1VOiBubyBpcnEg YXZhaWxhYmxlIVxuIik7CkBAIC0xMTUxLDcgKzExNTIsNyBAQCBzdGF0aWMgaW50IF9faW5pdCBp b21tdV9zZXRfaW50ZXJydXB0KHN0cnVjdCBhY3BpX2RyaGRfdW5pdCAqZHJoZCkKICAgICBpZiAo IHJldCApCiAgICAgewogICAgICAgICBkZXNjLT5oYW5kbGVyID0gJm5vX2lycV90eXBlOwotICAg ICAgICBkZXN0cm95X2lycShpcnEpOworICAgICAgICBkZXN0cm95X2lycShpcnEsIGhhcmR3YXJl X2RvbWFpbik7CiAgICAgICAgIGRwcmludGsoWEVOTE9HX0VSUiBWVERQUkVGSVgsICJJT01NVTog Y2FuJ3QgcmVxdWVzdCBpcnFcbiIpOwogICAgICAgICByZXR1cm4gcmV0OwogICAgIH0KQEAgLTEy ODYsNyArMTI4Nyw3IEBAIHZvaWQgX19pbml0IGlvbW11X2ZyZWUoc3RydWN0IGFjcGlfZHJoZF91 bml0ICpkcmhkKQogCiAgICAgZnJlZV9pbnRlbF9pb21tdShpb21tdS0+aW50ZWwpOwogICAgIGlm ICggaW9tbXUtPm1zaS5pcnEgPj0gMCApCi0gICAgICAgIGRlc3Ryb3lfaXJxKGlvbW11LT5tc2ku aXJxKTsKKyAgICAgICAgZGVzdHJveV9pcnEoaW9tbXUtPm1zaS5pcnEsIGhhcmR3YXJlX2RvbWFp bik7CiAgICAgeGZyZWUoaW9tbXUpOwogfQogCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20t eDg2L2lycS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9pcnEuaAppbmRleCA0YjM5OTk3ZjA5Li5j ZjI4YTVjNWZmIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2lycS5oCisrKyBiL3hl bi9pbmNsdWRlL2FzbS14ODYvaXJxLmgKQEAgLTE1NSw4ICsxNTUsOCBAQCBpbnQgIGluaXRfaXJx X2RhdGEodm9pZCk7CiB2b2lkIGNsZWFyX2lycV92ZWN0b3IoaW50IGlycSk7CiAKIGludCBpcnFf dG9fdmVjdG9yKGludCBpcnEpOwotaW50IGNyZWF0ZV9pcnEobm9kZWlkX3Qgbm9kZSk7Ci12b2lk IGRlc3Ryb3lfaXJxKHVuc2lnbmVkIGludCBpcnEpOworaW50IGNyZWF0ZV9pcnEobm9kZWlkX3Qg bm9kZSwgc3RydWN0IGRvbWFpbiAqZG1fZG9tYWluKTsKK3ZvaWQgZGVzdHJveV9pcnEodW5zaWdu ZWQgaW50IGlycSwgc3RydWN0IGRvbWFpbiAqZG1fZG9tYWluKTsKIGludCBhc3NpZ25faXJxX3Zl Y3RvcihpbnQgaXJxLCBjb25zdCBjcHVtYXNrX3QgKik7CiAKIGV4dGVybiB2b2lkIGlycV9jb21w bGV0ZV9tb3ZlKHN0cnVjdCBpcnFfZGVzYyAqKTsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2Fz bS14ODYvbXNpLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L21zaS5oCmluZGV4IDEwMzg3ZGNlMmUu LjFhNWJhODRjY2IgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvbXNpLmgKKysrIGIv eGVuL2luY2x1ZGUvYXNtLXg4Ni9tc2kuaApAQCAtMTM0LDcgKzEzNCw3IEBAIHN0cnVjdCBtc2lf ZGVzYyB7CiAjZGVmaW5lIE1TSV9UWVBFX0lPTU1VICAgMgogCiBpbnQgbXNpX21hc2thYmxlX2ly cShjb25zdCBzdHJ1Y3QgbXNpX2Rlc2MgKik7Ci1pbnQgbXNpX2ZyZWVfaXJxKHN0cnVjdCBtc2lf ZGVzYyAqZW50cnkpOworaW50IG1zaV9mcmVlX2lycShzdHJ1Y3QgbXNpX2Rlc2MgKmVudHJ5LCBz dHJ1Y3QgZG9tYWluICpkbV9kb21haW4pOwogCiAvKgogICogQXNzdW1lIHRoZSBtYXhpbXVtIG51 bWJlciBvZiBob3QgcGx1ZyBzbG90cyBzdXBwb3J0ZWQgYnkgdGhlIHN5c3RlbSBpcyBhYm91dAot LSAKMi4xNy4yCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcK aHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==