From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v4 07/12] xenstore: use array for xenstore wire command handling Date: Mon, 5 Dec 2016 08:48:48 +0100 Message-ID: <20161205074853.13268-8-jgross@suse.com> References: <20161205074853.13268-1-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cDo1R-0003Ta-4J for xen-devel@lists.xenproject.org; Mon, 05 Dec 2016 07:49:13 +0000 In-Reply-To: <20161205074853.13268-1-jgross@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Juergen Gross , sstabellini@kernel.org, wei.liu2@citrix.com, George.Dunlap@eu.citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, tim@xen.org, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org SW5zdGVhZCBvZiBzd2l0Y2goKSBzdGF0ZW1lbnRzIGZvciBzZWxlY3Rpbmcgd2lyZSBjb21tYW5k IGFjdGlvbnMgdXNlCmFuIGFycmF5IGZvciB0aGlzIHB1cnBvc2UuCgpXaGlsZSBkb2luZyB0aGlz IGFkZCB0aGUgWFNfUkVTVFJJQ1QgdHlwZSBmb3IgZGlhZ25vc3RpYyBwcmludHMgYW5kCmNvcnJl Y3QgdGhlIHByaW50ZWQgc3RyaW5nIGZvciBYU19JU19ET01BSU5fSU5UUk9EVUNFRC4KClNpZ25l ZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4KQWNrZWQtYnk6IFdlaSBM aXUgPHdlaS5saXUyQGNpdHJpeC5jb20+Ci0tLQpWNDogYWRkIFhTX1RZUEVfQ09VTlQgKG1vdmVk IGZyb20gcGF0Y2ggNSkgYXMgcmVxdWVzdGVkIGJ5IEphbiBCZXVsaWNoCi0tLQogdG9vbHMveGVu c3RvcmUveGVuc3RvcmVkX2NvcmUuYyB8IDE1OCArKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCiB4ZW4vaW5jbHVkZS9wdWJsaWMvaW8veHNfd2lyZS5oIHwgICAyICsKIDIg ZmlsZXMgY2hhbmdlZCwgNDYgaW5zZXJ0aW9ucygrKSwgMTE0IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL3Rvb2xzL3hlbnN0b3JlL3hlbnN0b3JlZF9jb3JlLmMgYi90b29scy94ZW5zdG9yZS94 ZW5zdG9yZWRfY29yZS5jCmluZGV4IGU0ZTA5ZmEuLjIzZTM3NzEgMTAwNjQ0Ci0tLSBhL3Rvb2xz L3hlbnN0b3JlL3hlbnN0b3JlZF9jb3JlLmMKKysrIGIvdG9vbHMveGVuc3RvcmUveGVuc3RvcmVk X2NvcmUuYwpAQCAtODYsNiArODYsNyBAQCBzdGF0aWMgYm9vbCB0cmlnZ2VyX3RhbGxvY19yZXBv cnQgPSBmYWxzZTsKIAogc3RhdGljIHZvaWQgY29ycnVwdChzdHJ1Y3QgY29ubmVjdGlvbiAqY29u biwgY29uc3QgY2hhciAqZm10LCAuLi4pOwogc3RhdGljIHZvaWQgY2hlY2tfc3RvcmUodm9pZCk7 CitzdGF0aWMgY2hhciAqc29ja21zZ19zdHJpbmcoZW51bSB4c2Rfc29ja21zZ190eXBlIHR5cGUp OwogCiAjZGVmaW5lIGxvZyguLi4pCQkJCQkJCVwKIAlkbyB7CQkJCQkJCQlcCkBAIC0xMjQsMzYg KzEyNSw2IEBAIGJvb2wgcmVwbGFjZV90ZGIoY29uc3QgY2hhciAqbmV3bmFtZSwgVERCX0NPTlRF WFQgKm5ld3RkYikKIAlyZXR1cm4gdHJ1ZTsKIH0KIAotc3RhdGljIGNoYXIgKnNvY2ttc2dfc3Ry aW5nKGVudW0geHNkX3NvY2ttc2dfdHlwZSB0eXBlKQotewotCXN3aXRjaCAodHlwZSkgewotCWNh c2UgWFNfREVCVUc6IHJldHVybiAiREVCVUciOwotCWNhc2UgWFNfRElSRUNUT1JZOiByZXR1cm4g IkRJUkVDVE9SWSI7Ci0JY2FzZSBYU19SRUFEOiByZXR1cm4gIlJFQUQiOwotCWNhc2UgWFNfR0VU X1BFUk1TOiByZXR1cm4gIkdFVF9QRVJNUyI7Ci0JY2FzZSBYU19XQVRDSDogcmV0dXJuICJXQVRD SCI7Ci0JY2FzZSBYU19VTldBVENIOiByZXR1cm4gIlVOV0FUQ0giOwotCWNhc2UgWFNfVFJBTlNB Q1RJT05fU1RBUlQ6IHJldHVybiAiVFJBTlNBQ1RJT05fU1RBUlQiOwotCWNhc2UgWFNfVFJBTlNB Q1RJT05fRU5EOiByZXR1cm4gIlRSQU5TQUNUSU9OX0VORCI7Ci0JY2FzZSBYU19JTlRST0RVQ0U6 IHJldHVybiAiSU5UUk9EVUNFIjsKLQljYXNlIFhTX1JFTEVBU0U6IHJldHVybiAiUkVMRUFTRSI7 Ci0JY2FzZSBYU19HRVRfRE9NQUlOX1BBVEg6IHJldHVybiAiR0VUX0RPTUFJTl9QQVRIIjsKLQlj YXNlIFhTX1dSSVRFOiByZXR1cm4gIldSSVRFIjsKLQljYXNlIFhTX01LRElSOiByZXR1cm4gIk1L RElSIjsKLQljYXNlIFhTX1JNOiByZXR1cm4gIlJNIjsKLQljYXNlIFhTX1NFVF9QRVJNUzogcmV0 dXJuICJTRVRfUEVSTVMiOwotCWNhc2UgWFNfV0FUQ0hfRVZFTlQ6IHJldHVybiAiV0FUQ0hfRVZF TlQiOwotCWNhc2UgWFNfRVJST1I6IHJldHVybiAiRVJST1IiOwotCWNhc2UgWFNfSVNfRE9NQUlO X0lOVFJPRFVDRUQ6IHJldHVybiAiWFNfSVNfRE9NQUlOX0lOVFJPRFVDRUQiOwotCWNhc2UgWFNf UkVTVU1FOiByZXR1cm4gIlJFU1VNRSI7Ci0JY2FzZSBYU19TRVRfVEFSR0VUOiByZXR1cm4gIlNF VF9UQVJHRVQiOwotCWNhc2UgWFNfUkVTRVRfV0FUQ0hFUzogcmV0dXJuICJSRVNFVF9XQVRDSEVT IjsKLQljYXNlIFhTX0RJUkVDVE9SWV9QQVJUOiByZXR1cm4gIkRJUkVDVE9SWV9QQVJUIjsKLQlk ZWZhdWx0OgotCQlyZXR1cm4gIioqVU5LTk9XTioqIjsKLQl9Ci19Ci0KIHZvaWQgdHJhY2UoY29u c3QgY2hhciAqZm10LCAuLi4pCiB7CiAJdmFfbGlzdCBhcmdsaXN0OwpAQCAtMTMwNCwxMiArMTI3 NSw1MSBAQCBzdGF0aWMgdm9pZCBkb19kZWJ1ZyhzdHJ1Y3QgY29ubmVjdGlvbiAqY29ubiwgc3Ry dWN0IGJ1ZmZlcmVkX2RhdGEgKmluKQogCXNlbmRfYWNrKGNvbm4sIFhTX0RFQlVHKTsKIH0KIAor c3RhdGljIHN0cnVjdCB7CisJY2hhciAqc3RyOworCXZvaWQgKCpmdW5jKShzdHJ1Y3QgY29ubmVj dGlvbiAqY29ubiwgc3RydWN0IGJ1ZmZlcmVkX2RhdGEgKmluKTsKK30gd2lyZV9mdW5jc1tYU19U WVBFX0NPVU5UXSA9IHsKKwlbWFNfREVCVUddICAgICAgICAgICAgID0geyAiREVCVUciLCAgICAg ICAgICAgICBkb19kZWJ1ZyB9LAorCVtYU19ESVJFQ1RPUlldICAgICAgICAgPSB7ICJESVJFQ1RP UlkiLCAgICAgICAgIHNlbmRfZGlyZWN0b3J5IH0sCisJW1hTX1JFQURdICAgICAgICAgICAgICA9 IHsgIlJFQUQiLCAgICAgICAgICAgICAgZG9fcmVhZCB9LAorCVtYU19HRVRfUEVSTVNdICAgICAg ICAgPSB7ICJHRVRfUEVSTVMiLCAgICAgICAgIGRvX2dldF9wZXJtcyB9LAorCVtYU19XQVRDSF0g ICAgICAgICAgICAgPSB7ICJXQVRDSCIsICAgICAgICAgICAgIGRvX3dhdGNoIH0sCisJW1hTX1VO V0FUQ0hdICAgICAgICAgICA9IHsgIlVOV0FUQ0giLCAgICAgICAgICAgZG9fdW53YXRjaCB9LAor CVtYU19UUkFOU0FDVElPTl9TVEFSVF0gPSB7ICJUUkFOU0FDVElPTl9TVEFSVCIsIGRvX3RyYW5z YWN0aW9uX3N0YXJ0IH0sCisJW1hTX1RSQU5TQUNUSU9OX0VORF0gICA9IHsgIlRSQU5TQUNUSU9O X0VORCIsICAgZG9fdHJhbnNhY3Rpb25fZW5kIH0sCisJW1hTX0lOVFJPRFVDRV0gICAgICAgICA9 IHsgIklOVFJPRFVDRSIsICAgICAgICAgZG9faW50cm9kdWNlIH0sCisJW1hTX1JFTEVBU0VdICAg ICAgICAgICA9IHsgIlJFTEVBU0UiLCAgICAgICAgICAgZG9fcmVsZWFzZSB9LAorCVtYU19HRVRf RE9NQUlOX1BBVEhdICAgPSB7ICJHRVRfRE9NQUlOX1BBVEgiLCAgIGRvX2dldF9kb21haW5fcGF0 aCB9LAorCVtYU19XUklURV0gICAgICAgICAgICAgPSB7ICJXUklURSIsICAgICAgICAgICAgIGRv X3dyaXRlIH0sCisJW1hTX01LRElSXSAgICAgICAgICAgICA9IHsgIk1LRElSIiwgICAgICAgICAg ICAgZG9fbWtkaXIgfSwKKwlbWFNfUk1dICAgICAgICAgICAgICAgID0geyAiUk0iLCAgICAgICAg ICAgICAgICBkb19ybSB9LAorCVtYU19TRVRfUEVSTVNdICAgICAgICAgPSB7ICJTRVRfUEVSTVMi LCAgICAgICAgIGRvX3NldF9wZXJtcyB9LAorCVtYU19XQVRDSF9FVkVOVF0gICAgICAgPSB7ICJX QVRDSF9FVkVOVCIsICAgICAgIE5VTEwgfSwKKwlbWFNfRVJST1JdICAgICAgICAgICAgID0geyAi RVJST1IiLCAgICAgICAgICAgICBOVUxMIH0sCisJW1hTX0lTX0RPTUFJTl9JTlRST0RVQ0VEXSA9 CisJCQl7ICJJU19ET01BSU5fSU5UUk9EVUNFRCIsIGRvX2lzX2RvbWFpbl9pbnRyb2R1Y2VkIH0s CisJW1hTX1JFU1VNRV0gICAgICAgICAgICA9IHsgIlJFU1VNRSIsICAgICAgICAgICAgZG9fcmVz dW1lIH0sCisJW1hTX1NFVF9UQVJHRVRdICAgICAgICA9IHsgIlNFVF9UQVJHRVQiLCAgICAgICAg ZG9fc2V0X3RhcmdldCB9LAorCVtYU19SRVNUUklDVF0gICAgICAgICAgPSB7ICJSRVNUUklDVCIs ICAgICAgICAgIE5VTEwgfSwKKwlbWFNfUkVTRVRfV0FUQ0hFU10gICAgID0geyAiUkVTRVRfV0FU Q0hFUyIsICAgICBkb19yZXNldF93YXRjaGVzIH0sCisJW1hTX0RJUkVDVE9SWV9QQVJUXSAgICA9 IHsgIkRJUkVDVE9SWV9QQVJUIiwgICAgc2VuZF9kaXJlY3RvcnlfcGFydCB9LAorfTsKKworc3Rh dGljIGNoYXIgKnNvY2ttc2dfc3RyaW5nKGVudW0geHNkX3NvY2ttc2dfdHlwZSB0eXBlKQorewor CWlmICgodW5zaWduZWQpdHlwZSA8IFhTX1RZUEVfQ09VTlQgJiYgd2lyZV9mdW5jc1t0eXBlXS5z dHIpCisJCXJldHVybiB3aXJlX2Z1bmNzW3R5cGVdLnN0cjsKKworCXJldHVybiAiKipVTktOT1dO KioiOworfQorCiAvKiBQcm9jZXNzICJpbiIgZm9yIGNvbm46ICJpbiIgd2lsbCB2YW5pc2ggYWZ0 ZXIgdGhpcyBjb252ZXJzYXRpb24sIHNvCiAgKiB3ZSBjYW4gdGFsbG9jIG9mZiBpdCBmb3IgdGVt cG9yYXJ5IHZhcmlhYmxlcy4gIE1heSBmcmVlICJjb25uIi4KICAqLwogc3RhdGljIHZvaWQgcHJv Y2Vzc19tZXNzYWdlKHN0cnVjdCBjb25uZWN0aW9uICpjb25uLCBzdHJ1Y3QgYnVmZmVyZWRfZGF0 YSAqaW4pCiB7CiAJc3RydWN0IHRyYW5zYWN0aW9uICp0cmFuczsKKwllbnVtIHhzZF9zb2NrbXNn X3R5cGUgdHlwZSA9IGluLT5oZHIubXNnLnR5cGU7CiAKIAl0cmFucyA9IHRyYW5zYWN0aW9uX2xv b2t1cChjb25uLCBpbi0+aGRyLm1zZy50eF9pZCk7CiAJaWYgKElTX0VSUih0cmFucykpIHsKQEAg LTEzMjAsOTEgKzEzMzAsMTEgQEAgc3RhdGljIHZvaWQgcHJvY2Vzc19tZXNzYWdlKHN0cnVjdCBj b25uZWN0aW9uICpjb25uLCBzdHJ1Y3QgYnVmZmVyZWRfZGF0YSAqaW4pCiAJYXNzZXJ0KGNvbm4t PnRyYW5zYWN0aW9uID09IE5VTEwpOwogCWNvbm4tPnRyYW5zYWN0aW9uID0gdHJhbnM7CiAKLQlz d2l0Y2ggKGluLT5oZHIubXNnLnR5cGUpIHsKLQljYXNlIFhTX0RJUkVDVE9SWToKLQkJc2VuZF9k aXJlY3RvcnkoY29ubiwgaW4pOwotCQlicmVhazsKLQotCWNhc2UgWFNfUkVBRDoKLQkJZG9fcmVh ZChjb25uLCBpbik7Ci0JCWJyZWFrOwotCi0JY2FzZSBYU19XUklURToKLQkJZG9fd3JpdGUoY29u biwgaW4pOwotCQlicmVhazsKLQotCWNhc2UgWFNfTUtESVI6Ci0JCWRvX21rZGlyKGNvbm4sIGlu KTsKLQkJYnJlYWs7Ci0KLQljYXNlIFhTX1JNOgotCQlkb19ybShjb25uLCBpbik7Ci0JCWJyZWFr OwotCi0JY2FzZSBYU19HRVRfUEVSTVM6Ci0JCWRvX2dldF9wZXJtcyhjb25uLCBpbik7Ci0JCWJy ZWFrOwotCi0JY2FzZSBYU19TRVRfUEVSTVM6Ci0JCWRvX3NldF9wZXJtcyhjb25uLCBpbik7Ci0J CWJyZWFrOwotCi0JY2FzZSBYU19ERUJVRzoKLQkJZG9fZGVidWcoY29ubiwgaW4pOwotCQlicmVh azsKLQotCWNhc2UgWFNfV0FUQ0g6Ci0JCWRvX3dhdGNoKGNvbm4sIGluKTsKLQkJYnJlYWs7Ci0K LQljYXNlIFhTX1VOV0FUQ0g6Ci0JCWRvX3Vud2F0Y2goY29ubiwgaW4pOwotCQlicmVhazsKLQot CWNhc2UgWFNfVFJBTlNBQ1RJT05fU1RBUlQ6Ci0JCWRvX3RyYW5zYWN0aW9uX3N0YXJ0KGNvbm4s IGluKTsKLQkJYnJlYWs7Ci0KLQljYXNlIFhTX1RSQU5TQUNUSU9OX0VORDoKLQkJZG9fdHJhbnNh Y3Rpb25fZW5kKGNvbm4sIGluKTsKLQkJYnJlYWs7Ci0KLQljYXNlIFhTX0lOVFJPRFVDRToKLQkJ ZG9faW50cm9kdWNlKGNvbm4sIGluKTsKLQkJYnJlYWs7Ci0KLQljYXNlIFhTX0lTX0RPTUFJTl9J TlRST0RVQ0VEOgotCQlkb19pc19kb21haW5faW50cm9kdWNlZChjb25uLCBpbik7Ci0JCWJyZWFr OwotCi0JY2FzZSBYU19SRUxFQVNFOgotCQlkb19yZWxlYXNlKGNvbm4sIGluKTsKLQkJYnJlYWs7 Ci0KLQljYXNlIFhTX0dFVF9ET01BSU5fUEFUSDoKLQkJZG9fZ2V0X2RvbWFpbl9wYXRoKGNvbm4s IGluKTsKLQkJYnJlYWs7Ci0KLQljYXNlIFhTX1JFU1VNRToKLQkJZG9fcmVzdW1lKGNvbm4sIGlu KTsKLQkJYnJlYWs7Ci0KLQljYXNlIFhTX1NFVF9UQVJHRVQ6Ci0JCWRvX3NldF90YXJnZXQoY29u biwgaW4pOwotCQlicmVhazsKLQotCWNhc2UgWFNfUkVTRVRfV0FUQ0hFUzoKLQkJZG9fcmVzZXRf d2F0Y2hlcyhjb25uLCBpbik7Ci0JCWJyZWFrOwotCi0JY2FzZSBYU19ESVJFQ1RPUllfUEFSVDoK LQkJc2VuZF9kaXJlY3RvcnlfcGFydChjb25uLCBpbik7Ci0JCWJyZWFrOwotCi0JZGVmYXVsdDoK LQkJZXByaW50ZigiQ2xpZW50IHVua25vd24gb3BlcmF0aW9uICVpIiwgaW4tPmhkci5tc2cudHlw ZSk7CisJaWYgKCh1bnNpZ25lZCl0eXBlIDwgWFNfVFlQRV9DT1VOVCAmJiB3aXJlX2Z1bmNzW3R5 cGVdLmZ1bmMpCisJCXdpcmVfZnVuY3NbdHlwZV0uZnVuYyhjb25uLCBpbik7CisJZWxzZSB7CisJ CWVwcmludGYoIkNsaWVudCB1bmtub3duIG9wZXJhdGlvbiAlaSIsIHR5cGUpOwogCQlzZW5kX2Vy cm9yKGNvbm4sIEVOT1NZUyk7Ci0JCWJyZWFrOwogCX0KIAogCWNvbm4tPnRyYW5zYWN0aW9uID0g TlVMTDsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9pby94c193aXJlLmggYi94ZW4v aW5jbHVkZS9wdWJsaWMvaW8veHNfd2lyZS5oCmluZGV4IDU0NWY5MTYuLjU0YzFkNzEgMTAwNjQ0 Ci0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9pby94c193aXJlLmgKKysrIGIveGVuL2luY2x1ZGUv cHVibGljL2lvL3hzX3dpcmUuaApAQCAtNTIsNiArNTIsOCBAQCBlbnVtIHhzZF9zb2NrbXNnX3R5 cGUKICAgICBYU19SRVNFVF9XQVRDSEVTLAogICAgIFhTX0RJUkVDVE9SWV9QQVJULAogCisgICAg WFNfVFlQRV9DT1VOVCwgICAgICAvKiBOdW1iZXIgb2YgdmFsaWQgdHlwZXMuICovCisKICAgICBY U19JTlZBTElEID0gMHhmZmZmIC8qIEd1YXJhbnRlZWQgdG8gcmVtYWluIGFuIGludmFsaWQgdHlw ZSAqLwogfTsKIAotLSAKMi4xMC4yCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVu Lm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==