From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dario Faggioli Subject: [PATCH v3 1/6] xl: improve return and exit codes of memory related functions Date: Fri, 08 Apr 2016 04:23:24 +0200 Message-ID: <20160408022324.9058.21614.stgit@Solace.fritz.box> References: <20160408022241.9058.86808.stgit@Solace.fritz.box> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([85.158.143.247]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1aoM5A-00053S-U7 for xen-devel@lists.xenproject.org; Fri, 08 Apr 2016 02:23:37 +0000 Received: by mail-wm0-f65.google.com with SMTP id n3so956340wmn.1 for ; Thu, 07 Apr 2016 19:23:35 -0700 (PDT) In-Reply-To: <20160408022241.9058.86808.stgit@Solace.fritz.box> 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: Wei Liu , Ian Jackson , Harmandeep Kaur List-Id: xen-devel@lists.xenproject.org RnJvbTogSGFybWFuZGVlcCBLYXVyIDx3cml0ZS5oYXJtYW5kZWVwQGdtYWlsLmNvbT4KCmJ5IG1h a2luZyB0aGVtIG1vcmUgY29uc2lzdGVudCB3aXRoIG90aGVyIGV4YW1wbGVzIGluIHhsLgoKV2hp bGUgdGhlcmUsIG1ha2UgZnJlZW1lbSgpIG9mIGJvb2xlYW4gcmV0dXJuIHR5cGUsIHdoaWNoCmxv b2tzIG1vcmUgbmF0dXJhbCwgYW5kIGFkZCBjb21tZW50IGV4cGxhaW5pbmcgd2h5CnBhcnNlX21l bV9zaXplX2tiKCkgbmVlZHMgdG8gZGl2ZXJnZSBmcm9tIHRoZSBwYXR0ZXJuLgoKU2lnbmVkLW9m Zi1ieTogSGFybWFuZGVlcCBLYXVyIDx3cml0ZS5oYXJtYW5kZWVwQGdtYWlsLmNvbT4KU2lnbmVk LW9mZi1ieTogRGFyaW8gRmFnZ2lvbGkgPGRhcmlvLmZhZ2dpb2xpQGNpdHJpeC5jb20+Ci0tLQpD YzogSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+CkNjOiBXZWkgTGl1IDx3 ZWkubGl1MkBjaXRyaXguY29tPgotLS0KdjM6IFNob3J0ZW4gY2hhbmdlbG9nLgogICAgTWFrZSBm cmVlbWVtKCkgYm9vbGVhbiByZXR1cm4gdHlwZS4KCnYyOiBBZGQgY29tbWVudCB0byBleHBsYWlu IHJldHVybiB2YXVsZSBvZiBwYXJzZV9tZW1fc2l6ZV9rYigpLgogICAgQWRkIGZyZWVtZW0oKSBh bmQgbWFpbl9zaGFyaW5nKCkuCiAgICBSZW1vdmUgZmluZF9kb21haW4oKS4KLS0tCiB0b29scy9s aWJ4bC94bF9jbWRpbXBsLmMgfCAgIDM5ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0t LS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL3hsX2NtZGltcGwuYyBiL3Rvb2xzL2xpYnhsL3hs X2NtZGltcGwuYwppbmRleCAyZWU2Yzc0Li45NjEyYjAwIDEwMDY0NAotLS0gYS90b29scy9saWJ4 bC94bF9jbWRpbXBsLmMKKysrIGIvdG9vbHMvbGlieGwveGxfY21kaW1wbC5jCkBAIC0yNjgwLDQw ICsyNjgwLDQ1IEBAIHN0YXRpYyBpbnQgcHJlc2VydmVfZG9tYWluKHVpbnQzMl90ICpyX2RvbWlk LCBsaWJ4bF9ldmVudCAqZXZlbnQsCiAgICAgcmV0dXJuIHJjID09IDAgPyAxIDogMDsKIH0KIAot c3RhdGljIGludCBmcmVlbWVtKHVpbnQzMl90IGRvbWlkLCBsaWJ4bF9kb21haW5fYnVpbGRfaW5m byAqYl9pbmZvKQorLyoKKyAqIFJldHVybnMgZmFsc2UgaWYgbWVtb3J5IGNhbid0IGJlIGZyZWVk LCBidXQgYWxzbyBpZiB3ZSBlbmNvdW50ZXIgZXJyb3JzLgorICogUmV0dXJucyB0cnVlIGluIGNh c2UgdGhlcmUgaXMgYWxyZWFkeSwgb3Igd2UgbWFuYWdlIHRvIGZyZWUgaXQsIGVub3VnaAorICog bWVtb3J5LCBidXQgYWxzbyBpZiBhdXRvYmFsbG9vbiBpcyBmYWxzZS4KKyAqLworc3RhdGljIGJv b2wgZnJlZW1lbSh1aW50MzJfdCBkb21pZCwgbGlieGxfZG9tYWluX2J1aWxkX2luZm8gKmJfaW5m bykKIHsKICAgICBpbnQgcmMsIHJldHJpZXMgPSAzOwogICAgIHVpbnQzMl90IG5lZWRfbWVta2Is IGZyZWVfbWVta2I7CiAKICAgICBpZiAoIWF1dG9iYWxsb29uKQotICAgICAgICByZXR1cm4gMDsK KyAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICByYyA9IGxpYnhsX2RvbWFpbl9uZWVkX21lbW9y eShjdHgsIGJfaW5mbywgJm5lZWRfbWVta2IpOwogICAgIGlmIChyYyA8IDApCi0gICAgICAgIHJl dHVybiByYzsKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgZG8gewogICAgICAgICByYyA9 IGxpYnhsX2dldF9mcmVlX21lbW9yeShjdHgsICZmcmVlX21lbWtiKTsKICAgICAgICAgaWYgKHJj IDwgMCkKLSAgICAgICAgICAgIHJldHVybiByYzsKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsK IAogICAgICAgICBpZiAoZnJlZV9tZW1rYiA+PSBuZWVkX21lbWtiKQotICAgICAgICAgICAgcmV0 dXJuIDA7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgICAgICByYyA9IGxpYnhsX3Nl dF9tZW1vcnlfdGFyZ2V0KGN0eCwgMCwgZnJlZV9tZW1rYiAtIG5lZWRfbWVta2IsIDEsIDApOwog ICAgICAgICBpZiAocmMgPCAwKQotICAgICAgICAgICAgcmV0dXJuIHJjOworICAgICAgICAgICAg cmV0dXJuIGZhbHNlOwogCiAgICAgICAgIC8qIHdhaXQgdW50aWwgZG9tMCByZWFjaGVzIGl0cyB0 YXJnZXQsIGFzIGxvbmcgYXMgd2UgYXJlIG1ha2luZwogICAgICAgICAgKiBwcm9ncmVzcyAqLwog ICAgICAgICByYyA9IGxpYnhsX3dhaXRfZm9yX21lbW9yeV90YXJnZXQoY3R4LCAwLCAxMCk7CiAg ICAgICAgIGlmIChyYyA8IDApCi0gICAgICAgICAgICByZXR1cm4gcmM7CisgICAgICAgICAgICBy ZXR1cm4gZmFsc2U7CiAKICAgICAgICAgcmV0cmllcy0tOwogICAgIH0gd2hpbGUgKHJldHJpZXMg PiAwKTsKIAotICAgIHJldHVybiBFUlJPUl9OT01FTTsKKyAgICByZXR1cm4gZmFsc2U7CiB9CiAK IHN0YXRpYyB2b2lkIGF1dG9jb25uZWN0X2NvbnNvbGUobGlieGxfY3R4ICpjdHhfaWdub3JlZCwK QEAgLTI5ODAsOCArMjk4NSw3IEBAIHN0YXJ0OgogICAgICAgICBnb3RvIGVycm9yX291dDsKIAog ICAgIGlmIChkb21pZF9zb2Z0X3Jlc2V0ID09IElOVkFMSURfRE9NSUQpIHsKLSAgICAgICAgcmV0 ID0gZnJlZW1lbShkb21pZCwgJmRfY29uZmlnLmJfaW5mbyk7Ci0gICAgICAgIGlmIChyZXQgPCAw KSB7CisgICAgICAgIGlmICghZnJlZW1lbShkb21pZCwgJmRfY29uZmlnLmJfaW5mbykpIHsKICAg ICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiZmFpbGVkIHRvIGZyZWUgbWVtb3J5IGZvciB0aGUg ZG9tYWluXG4iKTsKICAgICAgICAgICAgIHJldCA9IEVSUk9SX0ZBSUw7CiAgICAgICAgICAgICBn b3RvIGVycm9yX291dDsKQEAgLTMyNDUsNiArMzI0OSw3IEBAIHZvaWQgaGVscChjb25zdCBjaGFy ICpjb21tYW5kKQogICAgIH0KIH0KIAorLyogUmV0dXJucyAtMSBvbiBmYWlsdXJlOyB0aGUgYW1v dW50IG9mIG1lbW9yeSBvbiBzdWNjZXNzLiAqLwogc3RhdGljIGludDY0X3QgcGFyc2VfbWVtX3Np emVfa2IoY29uc3QgY2hhciAqbWVtKQogewogICAgIGNoYXIgKmVuZHB0cjsKQEAgLTMzOTEsNyAr MzM5Niw3IEBAIHN0YXRpYyBpbnQgc2V0X21lbW9yeV9tYXgodWludDMyX3QgZG9taWQsIGNvbnN0 IGNoYXIgKm1lbSkKICAgICBtZW1vcnlrYiA9IHBhcnNlX21lbV9zaXplX2tiKG1lbSk7CiAgICAg aWYgKG1lbW9yeWtiID09IC0xKSB7CiAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiaW52YWxpZCBt ZW1vcnkgc2l6ZTogJXNcbiIsIG1lbSk7Ci0gICAgICAgIGV4aXQoMyk7CisgICAgICAgIGV4aXQo RVhJVF9GQUlMVVJFKTsKICAgICB9CiAKICAgICBpZiAobGlieGxfZG9tYWluX3NldG1heG1lbShj dHgsIGRvbWlkLCBtZW1vcnlrYikpIHsKQEAgLTM0MjUsNyArMzQzMCw3IEBAIHN0YXRpYyBpbnQg c2V0X21lbW9yeV90YXJnZXQodWludDMyX3QgZG9taWQsIGNvbnN0IGNoYXIgKm1lbSkKICAgICBt ZW1vcnlrYiA9IHBhcnNlX21lbV9zaXplX2tiKG1lbSk7CiAgICAgaWYgKG1lbW9yeWtiID09IC0x KSAgewogICAgICAgICBmcHJpbnRmKHN0ZGVyciwgImludmFsaWQgbWVtb3J5IHNpemU6ICVzXG4i LCBtZW0pOwotICAgICAgICBleGl0KDMpOworICAgICAgICBleGl0KEVYSVRfRkFJTFVSRSk7CiAg ICAgfQogCiAgICAgaWYgKGxpYnhsX3NldF9tZW1vcnlfdGFyZ2V0KGN0eCwgZG9taWQsIG1lbW9y eWtiLCAwLCAvKiBlbmZvcmNlICovIDEpKSB7CkBAIC02MTMyLDcgKzYxMzcsNyBAQCBpbnQgbWFp bl9zaGFyaW5nKGludCBhcmdjLCBjaGFyICoqYXJndikKICAgICAgICAgaW5mbyA9IGxpYnhsX2xp c3RfZG9tYWluKGN0eCwgJm5iX2RvbWFpbik7CiAgICAgICAgIGlmICghaW5mbykgewogICAgICAg ICAgICAgZnByaW50ZihzdGRlcnIsICJsaWJ4bF9saXN0X2RvbWFpbiBmYWlsZWQuXG4iKTsKLSAg ICAgICAgICAgIHJldHVybiAxOworICAgICAgICAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKICAg ICAgICAgfQogICAgICAgICBpbmZvX2ZyZWUgPSBpbmZvOwogICAgIH0gZWxzZSBpZiAob3B0aW5k ID09IGFyZ2MtMSkgewpAQCAtNjE0MSwxNyArNjE0NiwxNyBAQCBpbnQgbWFpbl9zaGFyaW5nKGlu dCBhcmdjLCBjaGFyICoqYXJndikKICAgICAgICAgaWYgKHJjID09IEVSUk9SX0RPTUFJTl9OT1RG T1VORCkgewogICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJFcnJvcjogRG9tYWluIFwnJXNc JyBkb2VzIG5vdCBleGlzdC5cbiIsCiAgICAgICAgICAgICAgICAgYXJndltvcHRpbmRdKTsKLSAg ICAgICAgICAgIHJldHVybiAtcmM7CisgICAgICAgICAgICByZXR1cm4gRVhJVF9GQUlMVVJFOwog ICAgICAgICB9CiAgICAgICAgIGlmIChyYykgewogICAgICAgICAgICAgZnByaW50ZihzdGRlcnIs ICJsaWJ4bF9kb21haW5faW5mbyBmYWlsZWQgKGNvZGUgJWQpLlxuIiwgcmMpOwotICAgICAgICAg ICAgcmV0dXJuIC1yYzsKKyAgICAgICAgICAgIHJldHVybiBFWElUX0ZBSUxVUkU7CiAgICAgICAg IH0KICAgICAgICAgaW5mbyA9ICZpbmZvX2J1ZjsKICAgICAgICAgbmJfZG9tYWluID0gMTsKICAg ICB9IGVsc2UgewogICAgICAgICBoZWxwKCJzaGFyaW5nIik7Ci0gICAgICAgIHJldHVybiAyOwor ICAgICAgICByZXR1cm4gRVhJVF9GQUlMVVJFOwogICAgIH0KIAogICAgIHNoYXJpbmcoaW5mbywg bmJfZG9tYWluKTsKQEAgLTYxNjEsNyArNjE2Niw3IEBAIGludCBtYWluX3NoYXJpbmcoaW50IGFy Z2MsIGNoYXIgKiphcmd2KQogICAgIGVsc2UKICAgICAgICAgbGlieGxfZG9taW5mb19kaXNwb3Nl KGluZm8pOwogCi0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIEVYSVRfU1VDQ0VTUzsKIH0KIAog c3RhdGljIGludCBzY2hlZF9kb21haW5fZ2V0KGxpYnhsX3NjaGVkdWxlciBzY2hlZCwgaW50IGRv bWlkLAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhl bi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3Rz Lnhlbi5vcmcveGVuLWRldmVsCg==