From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel De Graaf Subject: [PATCH 10/17] flask: remove xen_flask_userlist operation Date: Mon, 20 Jun 2016 10:04:19 -0400 Message-ID: <1466431466-28055-11-git-send-email-dgdegra@tycho.nsa.gov> References: <1466431466-28055-1-git-send-email-dgdegra@tycho.nsa.gov> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1466431466-28055-1-git-send-email-dgdegra@tycho.nsa.gov> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Daniel De Graaf List-Id: xen-devel@lists.xenproject.org VGhpcyBvcGVyYXRpb24gaGFzIG5vIGtub3duIHVzZXJzLCBhbmQgaXMgcHJpbWFyaWx5IHVzZWZ1 bCB3aGVuIGFuIE1MUwpwb2xpY3kgaXMgaW4gdXNlICh3aGljaCBoYXMgbmV2ZXIgYmVlbiBzaGlw cGVkIHdpdGggWGVuKS4gIEluIGFkZGl0aW9uLAp0aGUgaW5mb3JtYXRpb24gaXQgcHJvdmlkZXMg ZG9lcyBub3QgYWN0dWFsbHkgZGVwZW5kIG9uIGh5cGVydmlzb3IKc3RhdGUgKG9ubHkgb24gdGhl IFhTTSBwb2xpY3kpLCBzbyBhbiBhcHBsaWNhdGlvbiB0aGF0IG5lZWRzIGl0IGNvdWxkCmNvbXB1 dGUgdGhlIHJlc3VsdHMgd2l0aG91dCBuZWVkaW5nIHRvIGludm9sdmUgdGhlIGh5cGVydmlzb3Iu CgpTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgRGUgR3JhYWYgPGRnZGVncmFAdHljaG8ubnNhLmdvdj4K LS0tCiB0b29scy9mbGFzay9wb2xpY3kvbW9kdWxlcy9kb20wLnRlICB8ICAgMiArLQogeGVuL2lu Y2x1ZGUvcHVibGljL3hlbi1jb21wYXQuaCAgICAgfCAgIDIgKy0KIHhlbi9pbmNsdWRlL3B1Ymxp Yy94c20vZmxhc2tfb3AuaCAgIHwgICA2ICstCiB4ZW4vaW5jbHVkZS94bGF0LmxzdCAgICAgICAg ICAgICAgICB8ICAgMSAtCiB4ZW4veHNtL2ZsYXNrL2ZsYXNrX29wLmMgICAgICAgICAgICB8ICA0 MiAtLS0tLS0tLS0tLS0tLQogeGVuL3hzbS9mbGFzay9pbmNsdWRlL3NlY3VyaXR5LmggICAgfCAg IDIgLQogeGVuL3hzbS9mbGFzay9wb2xpY3kvYWNjZXNzX3ZlY3RvcnMgfCAgIDIgLQogeGVuL3hz bS9mbGFzay9zcy9tbHMuYyAgICAgICAgICAgICAgfCAgNDkgLS0tLS0tLS0tLS0tLS0tLQogeGVu L3hzbS9mbGFzay9zcy9tbHMuaCAgICAgICAgICAgICAgfCAgIDMgLQogeGVuL3hzbS9mbGFzay9z cy9zZXJ2aWNlcy5jICAgICAgICAgfCAxMTEgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCiAxMCBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDIxMyBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS90b29scy9mbGFzay9wb2xpY3kvbW9kdWxlcy9kb20wLnRlIGIvdG9v bHMvZmxhc2svcG9saWN5L21vZHVsZXMvZG9tMC50ZQppbmRleCBkMjI4YjI0Li4yZDk4MmQ5IDEw MDY0NAotLS0gYS90b29scy9mbGFzay9wb2xpY3kvbW9kdWxlcy9kb20wLnRlCisrKyBiL3Rvb2xz L2ZsYXNrL3BvbGljeS9tb2R1bGVzL2RvbTAudGUKQEAgLTQ3LDcgKzQ3LDcgQEAgYWxsb3cgZG9t MF90IGRvbTBfdDpyZXNvdXJjZSB7IGFkZCByZW1vdmUgfTsKICMgdGhhdCBkb2VzIG5vdCBoYXZl IGl0cyBvd24gc2VjdXJpdHkgc2VydmVyIHRvIG1ha2UgYWNjZXNzIGRlY2lzaW9ucyBiYXNlZCBv bgogIyBYZW4ncyBzZWN1cml0eSBwb2xpY3kuCiBhbGxvdyBkb20wX3Qgc2VjdXJpdHlfdDpzZWN1 cml0eSB7Ci0JY29tcHV0ZV9hdiBjb21wdXRlX2NyZWF0ZSBjb21wdXRlX21lbWJlciBjb21wdXRl X3JlbGFiZWwgY29tcHV0ZV91c2VyCisJY29tcHV0ZV9hdiBjb21wdXRlX2NyZWF0ZSBjb21wdXRl X21lbWJlciBjb21wdXRlX3JlbGFiZWwKIH07CiAKICMgQWxsb3cgc3RyaW5nL1NJRCBjb252ZXJz aW9ucyAoZm9yICJ4bCBsaXN0IC1aIiBhbmQgc2ltaWxhcikKZGlmZiAtLWdpdCBhL3hlbi9pbmNs dWRlL3B1YmxpYy94ZW4tY29tcGF0LmggYi94ZW4vaW5jbHVkZS9wdWJsaWMveGVuLWNvbXBhdC5o CmluZGV4IDU5MGRlNzYuLmRkOGE1YzAgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy94 ZW4tY29tcGF0LmgKKysrIGIveGVuL2luY2x1ZGUvcHVibGljL3hlbi1jb21wYXQuaApAQCAtMjcs NyArMjcsNyBAQAogI2lmbmRlZiBfX1hFTl9QVUJMSUNfWEVOX0NPTVBBVF9IX18KICNkZWZpbmUg X19YRU5fUFVCTElDX1hFTl9DT01QQVRfSF9fCiAKLSNkZWZpbmUgX19YRU5fTEFURVNUX0lOVEVS RkFDRV9WRVJTSU9OX18gMHgwMDA0MDcwMAorI2RlZmluZSBfX1hFTl9MQVRFU1RfSU5URVJGQUNF X1ZFUlNJT05fXyAweDAwMDQwODAwCiAKICNpZiBkZWZpbmVkKF9fWEVOX18pIHx8IGRlZmluZWQo X19YRU5fVE9PTFNfXykKIC8qIFhlbiBpcyBidWlsdCB3aXRoIG1hdGNoaW5nIGhlYWRlcnMgYW5k IGltcGxlbWVudHMgdGhlIGxhdGVzdCBpbnRlcmZhY2UuICovCmRpZmYgLS1naXQgYS94ZW4vaW5j bHVkZS9wdWJsaWMveHNtL2ZsYXNrX29wLmggYi94ZW4vaW5jbHVkZS9wdWJsaWMveHNtL2ZsYXNr X29wLmgKaW5kZXggYzc2MzU5Yy4uOTcwZWMwNyAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvcHVi bGljL3hzbS9mbGFza19vcC5oCisrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy94c20vZmxhc2tfb3Au aApAQCAtNzAsNiArNzAsNyBAQCBzdHJ1Y3QgeGVuX2ZsYXNrX3RyYW5zaXRpb24gewogICAgIHVp bnQzMl90IG5ld3NpZDsKIH07CiAKKyNpZiBfX1hFTl9JTlRFUkZBQ0VfVkVSU0lPTl9fIDwgMHgw MDA0MDgwMAogc3RydWN0IHhlbl9mbGFza191c2VybGlzdCB7CiAgICAgLyogSU46IHN0YXJ0aW5n IFNJRCBmb3IgbGlzdCAqLwogICAgIHVpbnQzMl90IHN0YXJ0X3NpZDsKQEAgLTgzLDYgKzg0LDcg QEAgc3RydWN0IHhlbl9mbGFza191c2VybGlzdCB7CiAgICAgICAgIFhFTl9HVUVTVF9IQU5ETEUo dWludDMyKSBzaWRzOwogICAgIH0gdTsKIH07CisjZW5kaWYKIAogc3RydWN0IHhlbl9mbGFza19i b29sZWFuIHsKICAgICAvKiBJTi9PVVQ6IG51bWVyaWMgaWRlbnRpZmllciBmb3IgYm9vbGVhbiBb R0VUL1NFVF0KQEAgLTE2Nyw3ICsxNjksNyBAQCBzdHJ1Y3QgeGVuX2ZsYXNrX29wIHsKICNkZWZp bmUgRkxBU0tfQUNDRVNTICAgICAgICAgICAgNgogI2RlZmluZSBGTEFTS19DUkVBVEUgICAgICAg ICAgICA3CiAjZGVmaW5lIEZMQVNLX1JFTEFCRUwgICAgICAgICAgIDgKLSNkZWZpbmUgRkxBU0tf VVNFUiAgICAgICAgICAgICAgOQorI2RlZmluZSBGTEFTS19VU0VSICAgICAgICAgICAgICA5ICAv KiBObyBsb25nZXIgaW1wbGVtZW50ZWQgKi8KICNkZWZpbmUgRkxBU0tfUE9MSUNZVkVSUyAgICAg ICAgMTAKICNkZWZpbmUgRkxBU0tfR0VUQk9PTCAgICAgICAgICAgMTEKICNkZWZpbmUgRkxBU0tf U0VUQk9PTCAgICAgICAgICAgMTIKQEAgLTE5Myw3ICsxOTUsOSBAQCBzdHJ1Y3QgeGVuX2ZsYXNr X29wIHsKICAgICAgICAgc3RydWN0IHhlbl9mbGFza19hY2Nlc3MgYWNjZXNzOwogICAgICAgICAv KiBGTEFTS19DUkVBVEUsIEZMQVNLX1JFTEFCRUwsIEZMQVNLX01FTUJFUiAqLwogICAgICAgICBz dHJ1Y3QgeGVuX2ZsYXNrX3RyYW5zaXRpb24gdHJhbnNpdGlvbjsKKyNpZiBfX1hFTl9JTlRFUkZB Q0VfVkVSU0lPTl9fIDwgMHgwMDA0MDgwMAogICAgICAgICBzdHJ1Y3QgeGVuX2ZsYXNrX3VzZXJs aXN0IHVzZXJsaXN0OworI2VuZGlmCiAgICAgICAgIC8qIEZMQVNLX0dFVEJPT0wsIEZMQVNLX1NF VEJPT0wgKi8KICAgICAgICAgc3RydWN0IHhlbl9mbGFza19ib29sZWFuIGJvb2xlYW47CiAgICAg ICAgIHN0cnVjdCB4ZW5fZmxhc2tfc2V0YXZjX3RocmVzaG9sZCBzZXRhdmNfdGhyZXNob2xkOwpk aWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGxhdC5sc3QgYi94ZW4vaW5jbHVkZS94bGF0LmxzdApp bmRleCAyM2JlZmIzLi44MDFhMWMxIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94bGF0LmxzdAor KysgYi94ZW4vaW5jbHVkZS94bGF0LmxzdApAQCAtMTI5LDQgKzEyOSwzIEBACiA/CWZsYXNrX3Nl dGVuZm9yY2UJCXhzbS9mbGFza19vcC5oCiAhCWZsYXNrX3NpZF9jb250ZXh0CQl4c20vZmxhc2tf b3AuaAogPwlmbGFza190cmFuc2l0aW9uCQl4c20vZmxhc2tfb3AuaAotIQlmbGFza191c2VybGlz dAkJCXhzbS9mbGFza19vcC5oCmRpZmYgLS1naXQgYS94ZW4veHNtL2ZsYXNrL2ZsYXNrX29wLmMg Yi94ZW4veHNtL2ZsYXNrL2ZsYXNrX29wLmMKaW5kZXggZWE5MDNhNy4uM2FkNGJkYyAxMDA2NDQK LS0tIGEveGVuL3hzbS9mbGFzay9mbGFza19vcC5jCisrKyBiL3hlbi94c20vZmxhc2svZmxhc2tf b3AuYwpAQCAtODYsNDMgKzg2LDYgQEAgc3RhdGljIGludCBkb21haW5faGFzX3NlY3VyaXR5KHN0 cnVjdCBkb21haW4gKmQsIHUzMiBwZXJtcykKICAgICAgICAgICAgICAgICAgICAgICAgIHBlcm1z LCBOVUxMKTsKIH0KIAotI2VuZGlmIC8qIENPTVBBVCAqLwotCi1zdGF0aWMgaW50IGZsYXNrX3Nl Y3VyaXR5X3VzZXIoc3RydWN0IHhlbl9mbGFza191c2VybGlzdCAqYXJnKQotewotICAgIGNoYXIg KnVzZXI7Ci0gICAgdTMyICpzaWRzOwotICAgIHUzMiBuc2lkczsKLSAgICBpbnQgcnY7Ci0KLSAg ICBydiA9IGRvbWFpbl9oYXNfc2VjdXJpdHkoY3VycmVudC0+ZG9tYWluLCBTRUNVUklUWV9fQ09N UFVURV9VU0VSKTsKLSAgICBpZiAoIHJ2ICkKLSAgICAgICAgcmV0dXJuIHJ2OwotCi0gICAgdXNl ciA9IHNhZmVfY29weV9zdHJpbmdfZnJvbV9ndWVzdChhcmctPnUudXNlciwgYXJnLT5zaXplLCBQ QUdFX1NJWkUpOwotICAgIGlmICggSVNfRVJSKHVzZXIpICkKLSAgICAgICAgcmV0dXJuIFBUUl9F UlIodXNlcik7Ci0KLSAgICBydiA9IHNlY3VyaXR5X2dldF91c2VyX3NpZHMoYXJnLT5zdGFydF9z aWQsIHVzZXIsICZzaWRzLCAmbnNpZHMpOwotICAgIGlmICggcnYgPCAwICkKLSAgICAgICAgZ290 byBvdXQ7Ci0KLSAgICBpZiAoIG5zaWRzICogc2l6ZW9mKHNpZHNbMF0pID4gYXJnLT5zaXplICkK LSAgICAgICAgbnNpZHMgPSBhcmctPnNpemUgLyBzaXplb2Yoc2lkc1swXSk7Ci0KLSAgICBhcmct PnNpemUgPSBuc2lkczsKLQotICAgIGlmICggX2NvcHlfdG9fZ3Vlc3QoYXJnLT51LnNpZHMsIHNp ZHMsIG5zaWRzKSApCi0gICAgICAgIHJ2ID0gLUVGQVVMVDsKLQotICAgIHhmcmVlKHNpZHMpOwot IG91dDoKLSAgICB4ZnJlZSh1c2VyKTsKLSAgICByZXR1cm4gcnY7Ci19Ci0KLSNpZm5kZWYgQ09N UEFUCi0KIHN0YXRpYyBpbnQgZmxhc2tfc2VjdXJpdHlfcmVsYWJlbChzdHJ1Y3QgeGVuX2ZsYXNr X3RyYW5zaXRpb24gKmFyZykKIHsKICAgICBpbnQgcnY7CkBAIC03MTQsMTAgKzY3Nyw2IEBAIHJl dF90IGRvX2ZsYXNrX29wKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeHNtX29wX3QpIHVfZmxhc2tf b3ApCiAgICAgICAgIHJ2ID0gZmxhc2tfc2VjdXJpdHlfcmVsYWJlbCgmb3AudS50cmFuc2l0aW9u KTsKICAgICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIEZMQVNLX1VTRVI6Ci0gICAgICAgIHJ2ID0g Zmxhc2tfc2VjdXJpdHlfdXNlcigmb3AudS51c2VybGlzdCk7Ci0gICAgICAgIGJyZWFrOwotCiAg ICAgY2FzZSBGTEFTS19QT0xJQ1lWRVJTOgogICAgICAgICBydiA9IFBPTElDWURCX1ZFUlNJT05f TUFYOwogICAgICAgICBicmVhazsKQEAgLTgzMSw3ICs3OTAsNiBAQCBDSEVDS19mbGFza190cmFu c2l0aW9uOwogI2RlZmluZSBmbGFza19zZWN1cml0eV9sb2FkIGNvbXBhdF9zZWN1cml0eV9sb2Fk CiAKICNkZWZpbmUgeGVuX2ZsYXNrX3VzZXJsaXN0IGNvbXBhdF9mbGFza191c2VybGlzdAotI2Rl ZmluZSBmbGFza19zZWN1cml0eV91c2VyIGNvbXBhdF9zZWN1cml0eV91c2VyCiAKICNkZWZpbmUg eGVuX2ZsYXNrX3NpZF9jb250ZXh0IGNvbXBhdF9mbGFza19zaWRfY29udGV4dAogI2RlZmluZSBm bGFza19zZWN1cml0eV9jb250ZXh0IGNvbXBhdF9zZWN1cml0eV9jb250ZXh0CmRpZmYgLS1naXQg YS94ZW4veHNtL2ZsYXNrL2luY2x1ZGUvc2VjdXJpdHkuaCBiL3hlbi94c20vZmxhc2svaW5jbHVk ZS9zZWN1cml0eS5oCmluZGV4IDM0YmJlNjIuLjJiMDAxNzcgMTAwNjQ0Ci0tLSBhL3hlbi94c20v Zmxhc2svaW5jbHVkZS9zZWN1cml0eS5oCisrKyBiL3hlbi94c20vZmxhc2svaW5jbHVkZS9zZWN1 cml0eS5oCkBAIC03OCw4ICs3OCw2IEBAIGludCBzZWN1cml0eV9zaWRfdG9fY29udGV4dCh1MzIg c2lkLCBjaGFyICoqc2NvbnRleHQsIHUzMiAqc2NvbnRleHRfbGVuKTsKIAogaW50IHNlY3VyaXR5 X2NvbnRleHRfdG9fc2lkKGNoYXIgKnNjb250ZXh0LCB1MzIgc2NvbnRleHRfbGVuLCB1MzIgKm91 dF9zaWQpOwogCi1pbnQgc2VjdXJpdHlfZ2V0X3VzZXJfc2lkcyh1MzIgY2FsbHNpZCwgY2hhciAq dXNlcm5hbWUsIHUzMiAqKnNpZHMsIHUzMiAqbmVsKTsKLQogaW50IHNlY3VyaXR5X2lycV9zaWQo aW50IHBpcnEsIHUzMiAqb3V0X3NpZCk7CiAKIGludCBzZWN1cml0eV9pb21lbV9zaWQodW5zaWdu ZWQgbG9uZywgdTMyICpvdXRfc2lkKTsKZGlmZiAtLWdpdCBhL3hlbi94c20vZmxhc2svcG9saWN5 L2FjY2Vzc192ZWN0b3JzIGIveGVuL3hzbS9mbGFzay9wb2xpY3kvYWNjZXNzX3ZlY3RvcnMKaW5k ZXggN2U2OWVkZS4uNDljOWE5ZSAxMDA2NDQKLS0tIGEveGVuL3hzbS9mbGFzay9wb2xpY3kvYWNj ZXNzX3ZlY3RvcnMKKysrIGIveGVuL3hzbS9mbGFzay9wb2xpY3kvYWNjZXNzX3ZlY3RvcnMKQEAg LTQ4NCw4ICs0ODQsNiBAQCBjbGFzcyBzZWN1cml0eQogICAgIGxvYWRfcG9saWN5CiAjIHVzZSB0 aGUgc2VjdXJpdHkgc2VydmVyIHRvIGNvbXB1dGUgYW4gb2JqZWN0IHJlbGFiZWwKICAgICBjb21w dXRlX3JlbGFiZWwKLSMgdXNlIHRoZSBzZWN1cml0eSBzZXJ2ZXIgdG8gbGlzdCB0aGUgU0lEcyBy ZWFjaGFibGUgYnkgYSBnaXZlbiB1c2VyCi0gICAgY29tcHV0ZV91c2VyCiAjIGFsbG93IHN3aXRj aGluZyBiZXR3ZWVuIGVuZm9yY2luZyBhbmQgcGVybWlzc2l2ZSBtb2RlCiAgICAgc2V0ZW5mb3Jj ZQogIyBhbGxvdyBjaGFuZ2luZyBwb2xpY3kgYm9vbGVhbnMKZGlmZiAtLWdpdCBhL3hlbi94c20v Zmxhc2svc3MvbWxzLmMgYi94ZW4veHNtL2ZsYXNrL3NzL21scy5jCmluZGV4IGJiZTdhNDkuLmYy ZmE1NjAgMTAwNjQ0Ci0tLSBhL3hlbi94c20vZmxhc2svc3MvbWxzLmMKKysrIGIveGVuL3hzbS9m bGFzay9zcy9tbHMuYwpAQCAtMzk2LDU1ICszOTYsNiBAQCBzdGF0aWMgaW5saW5lIGludCBtbHNf cmFuZ2Vfc2V0KHN0cnVjdCBjb250ZXh0ICpjb250ZXh0LAogICAgIHJldHVybiByYzsKIH0KIAot aW50IG1sc19zZXR1cF91c2VyX3JhbmdlKHN0cnVjdCBjb250ZXh0ICpmcm9tY29uLCBzdHJ1Y3Qg dXNlcl9kYXR1bSAqdXNlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RydWN0IGNvbnRleHQgKnVzZXJjb24pCi17Ci0gICAgaWYgKCBm bGFza19tbHNfZW5hYmxlZCApCi0gICAgewotICAgICAgICBzdHJ1Y3QgbWxzX2xldmVsICpmcm9t Y29uX3NlbiA9ICYoZnJvbWNvbi0+cmFuZ2UubGV2ZWxbMF0pOwotICAgICAgICBzdHJ1Y3QgbWxz X2xldmVsICpmcm9tY29uX2NsciA9ICYoZnJvbWNvbi0+cmFuZ2UubGV2ZWxbMV0pOwotICAgICAg ICBzdHJ1Y3QgbWxzX2xldmVsICp1c2VyX2xvdyA9ICYodXNlci0+cmFuZ2UubGV2ZWxbMF0pOwot ICAgICAgICBzdHJ1Y3QgbWxzX2xldmVsICp1c2VyX2NsciA9ICYodXNlci0+cmFuZ2UubGV2ZWxb MV0pOwotICAgICAgICBzdHJ1Y3QgbWxzX2xldmVsICp1c2VyX2RlZiA9ICYodXNlci0+ZGZsdGxl dmVsKTsKLSAgICAgICAgc3RydWN0IG1sc19sZXZlbCAqdXNlcmNvbl9zZW4gPSAmKHVzZXJjb24t PnJhbmdlLmxldmVsWzBdKTsKLSAgICAgICAgc3RydWN0IG1sc19sZXZlbCAqdXNlcmNvbl9jbHIg PSAmKHVzZXJjb24tPnJhbmdlLmxldmVsWzFdKTsKLQotICAgICAgICAvKiBIb25vciB0aGUgdXNl cidzIGRlZmF1bHQgbGV2ZWwgaWYgd2UgY2FuICovCi0gICAgICAgIGlmICggbWxzX2xldmVsX2Jl dHdlZW4odXNlcl9kZWYsIGZyb21jb25fc2VuLCBmcm9tY29uX2NscikgKQotICAgICAgICB7Ci0g ICAgICAgICAgICAqdXNlcmNvbl9zZW4gPSAqdXNlcl9kZWY7Ci0gICAgICAgIH0KLSAgICAgICAg ZWxzZSBpZiAoIG1sc19sZXZlbF9iZXR3ZWVuKGZyb21jb25fc2VuLCB1c2VyX2RlZiwgdXNlcl9j bHIpICkKLSAgICAgICAgewotICAgICAgICAgICAgKnVzZXJjb25fc2VuID0gKmZyb21jb25fc2Vu OwotICAgICAgICB9Ci0gICAgICAgIGVsc2UgaWYgKCBtbHNfbGV2ZWxfYmV0d2Vlbihmcm9tY29u X2NsciwgdXNlcl9sb3csIHVzZXJfZGVmKSApCi0gICAgICAgIHsKLSAgICAgICAgICAgICp1c2Vy Y29uX3NlbiA9ICp1c2VyX2xvdzsKLSAgICAgICAgfQotICAgICAgICBlbHNlCi0gICAgICAgICAg ICByZXR1cm4gLUVJTlZBTDsKLQotICAgICAgICAvKiBMb3dlciB0aGUgY2xlYXJhbmNlIG9mIGF2 YWlsYWJsZSBjb250ZXh0cwotICAgICAgICAgICBpZiB0aGUgY2xlYXJhbmNlIG9mICJmcm9tY29u IiBpcyBsb3dlciB0aGFuCi0gICAgICAgICAgIHRoYXQgb2YgdGhlIHVzZXIncyBkZWZhdWx0IGNs ZWFyYW5jZSAoYnV0Ci0gICAgICAgICAgIG9ubHkgaWYgdGhlICJmcm9tY29uIiBjbGVhcmFuY2Ug ZG9taW5hdGVzCi0gICAgICAgICAgIHRoZSB1c2VyJ3MgY29tcHV0ZWQgc2Vuc2l0aXZpdHkgbGV2 ZWwpICovCi0gICAgICAgIGlmICggbWxzX2xldmVsX2RvbSh1c2VyX2NsciwgZnJvbWNvbl9jbHIp ICkKLSAgICAgICAgewotICAgICAgICAgICAgKnVzZXJjb25fY2xyID0gKmZyb21jb25fY2xyOwot ICAgICAgICB9Ci0gICAgICAgIGVsc2UgaWYgKCBtbHNfbGV2ZWxfZG9tKGZyb21jb25fY2xyLCB1 c2VyX2NscikgKQotICAgICAgICB7Ci0gICAgICAgICAgICAqdXNlcmNvbl9jbHIgPSAqdXNlcl9j bHI7Ci0gICAgICAgIH0KLSAgICAgICAgZWxzZQotICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7 Ci0gICAgfQotCi0gICAgcmV0dXJuIDA7Ci19Ci0KIC8qCiAgKiBDb252ZXJ0IHRoZSBNTFMgZmll bGRzIGluIHRoZSBzZWN1cml0eSBjb250ZXh0CiAgKiBzdHJ1Y3R1cmUgYGMnIGZyb20gdGhlIHZh bHVlcyBzcGVjaWZpZWQgaW4gdGhlCmRpZmYgLS1naXQgYS94ZW4veHNtL2ZsYXNrL3NzL21scy5o IGIveGVuL3hzbS9mbGFzay9zcy9tbHMuaAppbmRleCBiM2EwMTVlLi4zOTU3MmJkIDEwMDY0NAot LS0gYS94ZW4veHNtL2ZsYXNrL3NzL21scy5oCisrKyBiL3hlbi94c20vZmxhc2svc3MvbWxzLmgK QEAgLTMyLDggKzMyLDUgQEAgaW50IG1sc19jb252ZXJ0X2NvbnRleHQoc3RydWN0IHBvbGljeWRi ICpvbGRwLCBzdHJ1Y3QgcG9saWN5ZGIgKm5ld3AsCiBpbnQgbWxzX2NvbXB1dGVfc2lkKHN0cnVj dCBjb250ZXh0ICpzY29udGV4dCwgc3RydWN0IGNvbnRleHQgKnRjb250ZXh0LAogICAgICAgICAg ICAgICAgICAgICAgICAgdTE2IHRjbGFzcywgdTMyIHNwZWNpZmllZCwgc3RydWN0IGNvbnRleHQg Km5ld2NvbnRleHQpOwogCi1pbnQgbWxzX3NldHVwX3VzZXJfcmFuZ2Uoc3RydWN0IGNvbnRleHQg KmZyb21jb24sIHN0cnVjdCB1c2VyX2RhdHVtICp1c2VyLAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgY29udGV4dCAqdXNlcmNvbik7 Ci0KICNlbmRpZiAgICAvKiBfU1NfTUxTX0ggKi8KIApkaWZmIC0tZ2l0IGEveGVuL3hzbS9mbGFz ay9zcy9zZXJ2aWNlcy5jIGIveGVuL3hzbS9mbGFzay9zcy9zZXJ2aWNlcy5jCmluZGV4IGM1OTA0 NDAuLjZhMDdmYzAgMTAwNjQ0Ci0tLSBhL3hlbi94c20vZmxhc2svc3Mvc2VydmljZXMuYworKysg Yi94ZW4veHNtL2ZsYXNrL3NzL3NlcnZpY2VzLmMKQEAgLTE3MjEsMTE3ICsxNzIxLDYgQEAgb3V0 OgogICAgIHJldHVybiByYzsKIH0KIAotI2RlZmluZSBTSURTX05FTCAyNQotCi0vKioKLSAqIHNl Y3VyaXR5X2dldF91c2VyX3NpZHMgLSBPYnRhaW4gcmVhY2hhYmxlIFNJRHMgZm9yIGEgdXNlci4K LSAqIEBmcm9tc2lkOiBzdGFydGluZyBTSUQKLSAqIEB1c2VybmFtZTogdXNlcm5hbWUKLSAqIEBz aWRzOiBhcnJheSBvZiByZWFjaGFibGUgU0lEcyBmb3IgdXNlcgotICogQG5lbDogbnVtYmVyIG9m IGVsZW1lbnRzIGluIEBzaWRzCi0gKgotICogR2VuZXJhdGUgdGhlIHNldCBvZiBTSURzIGZvciBs ZWdhbCBzZWN1cml0eSBjb250ZXh0cwotICogZm9yIGEgZ2l2ZW4gdXNlciB0aGF0IGNhbiBiZSBy ZWFjaGVkIGJ5IEBmcm9tc2lkLgotICogU2V0ICpAc2lkcyB0byBwb2ludCB0byBhIGR5bmFtaWNh bGx5IGFsbG9jYXRlZAotICogYXJyYXkgY29udGFpbmluZyB0aGUgc2V0IG9mIFNJRHMuICBTZXQg KkBuZWwgdG8gdGhlCi0gKiBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIGFycmF5LgotICovCi0K LWludCBzZWN1cml0eV9nZXRfdXNlcl9zaWRzKHUzMiBmcm9tc2lkLCBjaGFyICp1c2VybmFtZSwg dTMyICoqc2lkcywgdTMyICpuZWwpCi17Ci0gICAgc3RydWN0IGNvbnRleHQgKmZyb21jb24sIHVz ZXJjb247Ci0gICAgdTMyICpteXNpZHMsICpteXNpZHMyLCBzaWQ7Ci0gICAgdTMyIG15bmVsID0g MCwgbWF4bmVsID0gU0lEU19ORUw7Ci0gICAgc3RydWN0IHVzZXJfZGF0dW0gKnVzZXI7Ci0gICAg c3RydWN0IHJvbGVfZGF0dW0gKnJvbGU7Ci0gICAgc3RydWN0IGF2X2RlY2lzaW9uIGF2ZDsKLSAg ICBzdHJ1Y3QgZWJpdG1hcF9ub2RlICpybm9kZSwgKnRub2RlOwotICAgIGludCByYyA9IDAsIGks IGo7Ci0KLSAgICBpZiAoICFzc19pbml0aWFsaXplZCApCi0gICAgewotICAgICAgICAqc2lkcyA9 IE5VTEw7Ci0gICAgICAgICpuZWwgPSAwOwotICAgICAgICBnb3RvIG91dDsKLSAgICB9Ci0KLSAg ICBQT0xJQ1lfUkRMT0NLOwotCi0gICAgZnJvbWNvbiA9IHNpZHRhYl9zZWFyY2goJnNpZHRhYiwg ZnJvbXNpZCk7Ci0gICAgaWYgKCAhZnJvbWNvbiApCi0gICAgewotICAgICAgICByYyA9IC1FSU5W QUw7Ci0gICAgICAgIGdvdG8gb3V0X3VubG9jazsKLSAgICB9Ci0KLSAgICB1c2VyID0gaGFzaHRh Yl9zZWFyY2gocG9saWN5ZGIucF91c2Vycy50YWJsZSwgdXNlcm5hbWUpOwotICAgIGlmICggIXVz ZXIgKQotICAgIHsKLSAgICAgICAgcmMgPSAtRUlOVkFMOwotICAgICAgICBnb3RvIG91dF91bmxv Y2s7Ci0gICAgfQotICAgIHVzZXJjb24udXNlciA9IHVzZXItPnZhbHVlOwotCi0gICAgbXlzaWRz ID0geHphbGxvY19hcnJheSh1MzIsIG1heG5lbCk7Ci0gICAgaWYgKCAhbXlzaWRzICkKLSAgICB7 Ci0gICAgICAgIHJjID0gLUVOT01FTTsKLSAgICAgICAgZ290byBvdXRfdW5sb2NrOwotICAgIH0K LQotICAgIGViaXRtYXBfZm9yX2VhY2hfcG9zaXRpdmVfYml0KCZ1c2VyLT5yb2xlcywgcm5vZGUs IGkpCi0gICAgewotICAgICAgICByb2xlID0gcG9saWN5ZGIucm9sZV92YWxfdG9fc3RydWN0W2ld OwotICAgICAgICB1c2VyY29uLnJvbGUgPSBpKzE7Ci0gICAgICAgIGViaXRtYXBfZm9yX2VhY2hf cG9zaXRpdmVfYml0KCZyb2xlLT50eXBlcywgdG5vZGUsIGopIHsKLSAgICAgICAgICAgIHVzZXJj b24udHlwZSA9IGorMTsKLQotICAgICAgICAgICAgaWYgKCBtbHNfc2V0dXBfdXNlcl9yYW5nZShm cm9tY29uLCB1c2VyLCAmdXNlcmNvbikgKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotCi0g ICAgICAgICAgICByYyA9IGNvbnRleHRfc3RydWN0X2NvbXB1dGVfYXYoZnJvbWNvbiwgJnVzZXJj b24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0VDQ0xBU1NfRE9NQUlOLAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIERPTUFJTl9fVFJBTlNJVElPTiwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAmYXZkKTsKLSAgICAgICAgICAgIGlmICggcmMgfHwgICEo YXZkLmFsbG93ZWQgJiBET01BSU5fX1RSQU5TSVRJT04pICkKLSAgICAgICAgICAgICAgICBjb250 aW51ZTsKLSAgICAgICAgICAgIHJjID0gc2lkdGFiX2NvbnRleHRfdG9fc2lkKCZzaWR0YWIsICZ1 c2VyY29uLCAmc2lkKTsKLSAgICAgICAgICAgIGlmICggcmMgKQotICAgICAgICAgICAgewotICAg ICAgICAgICAgICAgIHhmcmVlKG15c2lkcyk7Ci0gICAgICAgICAgICAgICAgZ290byBvdXRfdW5s b2NrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKCBteW5lbCA8IG1heG5lbCApCi0g ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgbXlzaWRzW215bmVsKytdID0gc2lkOwotICAg ICAgICAgICAgfQotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgewotICAgICAgICAgICAg ICAgIG1heG5lbCArPSBTSURTX05FTDsKLSAgICAgICAgICAgICAgICBteXNpZHMyID0geHphbGxv Y19hcnJheSh1MzIsIG1heG5lbCk7Ci0gICAgICAgICAgICAgICAgaWYgKCAhbXlzaWRzMiApCi0g ICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICByYyA9IC1FTk9NRU07Ci0gICAg ICAgICAgICAgICAgICAgIHhmcmVlKG15c2lkcyk7Ci0gICAgICAgICAgICAgICAgICAgIGdvdG8g b3V0X3VubG9jazsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgbWVtY3B5KG15 c2lkczIsIG15c2lkcywgbXluZWwgKiBzaXplb2YoKm15c2lkczIpKTsKLSAgICAgICAgICAgICAg ICB4ZnJlZShteXNpZHMpOwotICAgICAgICAgICAgICAgIG15c2lkcyA9IG15c2lkczI7Ci0gICAg ICAgICAgICAgICAgbXlzaWRzW215bmVsKytdID0gc2lkOwotICAgICAgICAgICAgfQotICAgICAg ICB9Ci0gICAgfQotCi0gICAgKnNpZHMgPSBteXNpZHM7Ci0gICAgKm5lbCA9IG15bmVsOwotCi1v dXRfdW5sb2NrOgotICAgIFBPTElDWV9SRFVOTE9DSzsKLW91dDoKLSAgICByZXR1cm4gcmM7Ci19 Ci0KIGludCBzZWN1cml0eV9kZXZpY2V0cmVlX3NpZChjb25zdCBjaGFyICpwYXRoLCB1MzIgKm91 dF9zaWQpCiB7CiAgICAgc3RydWN0IG9jb250ZXh0ICpjOwotLSAKMi43LjQKCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBs aXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZl bAo=