From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v2 11/18] mini-os: add checks for out of memory Date: Fri, 5 Aug 2016 19:35:55 +0200 Message-ID: <1470418562-11234-12-git-send-email-jgross@suse.com> References: <1470418562-11234-1-git-send-email-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1470418562-11234-1-git-send-email-jgross@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org Cc: Juergen Gross , samuel.thibault@ens-lyon.org, wei.liu2@citrix.com List-Id: xen-devel@lists.xenproject.org VGhlcmUgYXJlIHNldmVyYWwgY29yZSBmdW5jdGlvbnMgaW4gTWluaS1PUyBub3QgY2hlY2tpbmcg Zm9yIGZhaWxlZAptZW1vcnkgYWxsb2NhdGlvbnMuIEFkZCBzdWNoIGNoZWNrcy4KCkFkZCBkb19t YXBfZnJhbWVzKCkgZHVtbXkgZnVuY3Rpb24gdG8gYXJtIGFyY2hpdGVjdHVyZSBhcyBpdCB3aWxs IGJlCm5lZWRlZCBpbiBmdXR1cmUgZm9yIGNvbXBpbGF0aW9ucyB0byBzdWNjZWVkLgoKU2lnbmVk LW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPgotLS0KIGFyY2gvYXJtL21t LmMgfCAgOCArKysrKysrKwogYXJjaC94ODYvbW0uYyB8IDI2ICsrKysrKysrKysrKysrKysrKyst LS0tLS0tCiBpbmNsdWRlL21tLmggIHwgIDIgKy0KIDMgZmlsZXMgY2hhbmdlZCwgMjggaW5zZXJ0 aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tbS5jIGIvYXJj aC9hcm0vbW0uYwppbmRleCBmNzU4ODhkLi5mYzhkNGJjIDEwMDY0NAotLS0gYS9hcmNoL2FybS9t bS5jCisrKyBiL2FyY2gvYXJtL21tLmMKQEAgLTEsNiArMSw3IEBACiAjaW5jbHVkZSA8bWluaS1v cy9jb25zb2xlLmg+CiAjaW5jbHVkZSA8eGVuL21lbW9yeS5oPgogI2luY2x1ZGUgPGFyY2hfbW0u aD4KKyNpbmNsdWRlIDxtaW5pLW9zL2Vycm5vLmg+CiAjaW5jbHVkZSA8bWluaS1vcy9oeXBlcnZp c29yLmg+CiAjaW5jbHVkZSA8bGliZmR0Lmg+CiAjaW5jbHVkZSA8bGliLmg+CkBAIC03OSw2ICs4 MCwxMyBAQCB2b2lkIGFyY2hfaW5pdF9kZW1hbmRfbWFwcGluZ19hcmVhKHZvaWQpCiB7CiB9CiAK K2ludCBkb19tYXBfZnJhbWVzKHVuc2lnbmVkIGxvbmcgYWRkciwKKyAgICAgICAgY29uc3QgdW5z aWduZWQgbG9uZyAqZiwgdW5zaWduZWQgbG9uZyBuLCB1bnNpZ25lZCBsb25nIHN0cmlkZSwKKyAg ICAgICAgdW5zaWduZWQgbG9uZyBpbmNyZW1lbnQsIGRvbWlkX3QgaWQsIGludCAqZXJyLCB1bnNp Z25lZCBsb25nIHByb3QpCit7CisgICAgcmV0dXJuIC1FTk9TWVM7Cit9CisKIC8qIEdldCBYZW4n cyBzdWdnZXN0ZWQgcGh5c2ljYWwgcGFnZSBhc3NpZ25tZW50cyBmb3IgdGhlIGdyYW50IHRhYmxl LiAqLwogc3RhdGljIHBhZGRyX3QgZ2V0X2dudHRhYl9iYXNlKHZvaWQpCiB7CmRpZmYgLS1naXQg YS9hcmNoL3g4Ni9tbS5jIGIvYXJjaC94ODYvbW0uYwppbmRleCBlMmYwMjZiLi4xMmY3ZmU0IDEw MDY0NAotLS0gYS9hcmNoL3g4Ni9tbS5jCisrKyBiL2FyY2gveDg2L21tLmMKQEAgLTM0LDYgKzM0 LDcgQEAKICAqIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KICAqLwogCisjaW5jbHVkZSA8bWlu aS1vcy9lcnJuby5oPgogI2luY2x1ZGUgPG1pbmktb3Mvb3MuaD4KICNpbmNsdWRlIDxtaW5pLW9z L2h5cGVydmlzb3IuaD4KICNpbmNsdWRlIDxtaW5pLW9zL21tLmg+CkBAIC0zNTQsNiArMzU1LDgg QEAgcGdlbnRyeV90ICpuZWVkX3BndCh1bnNpZ25lZCBsb25nIHZhKQogICAgIGlmICggISh0YWJb b2Zmc2V0XSAmIF9QQUdFX1BSRVNFTlQpICkKICAgICB7CiAgICAgICAgIHB0X3BmbiA9IHZpcnRf dG9fcGZuKGFsbG9jX3BhZ2UoKSk7CisgICAgICAgIGlmICggIXB0X3BmbiApCisgICAgICAgICAg ICByZXR1cm4gTlVMTDsKICAgICAgICAgbmV3X3B0X2ZyYW1lKCZwdF9wZm4sIHB0X21mbiwgb2Zm c2V0LCBMM19GUkFNRSk7CiAgICAgfQogICAgIEFTU0VSVCh0YWJbb2Zmc2V0XSAmIF9QQUdFX1BS RVNFTlQpOwpAQCAtMzY0LDYgKzM2Nyw4IEBAIHBnZW50cnlfdCAqbmVlZF9wZ3QodW5zaWduZWQg bG9uZyB2YSkKICAgICBpZiAoICEodGFiW29mZnNldF0gJiBfUEFHRV9QUkVTRU5UKSApIAogICAg IHsKICAgICAgICAgcHRfcGZuID0gdmlydF90b19wZm4oYWxsb2NfcGFnZSgpKTsKKyAgICAgICAg aWYgKCAhcHRfcGZuICkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICBuZXdfcHRf ZnJhbWUoJnB0X3BmbiwgcHRfbWZuLCBvZmZzZXQsIEwyX0ZSQU1FKTsKICAgICB9CiAgICAgQVNT RVJUKHRhYltvZmZzZXRdICYgX1BBR0VfUFJFU0VOVCk7CkBAIC0zNzMsNiArMzc4LDggQEAgcGdl bnRyeV90ICpuZWVkX3BndCh1bnNpZ25lZCBsb25nIHZhKQogICAgIGlmICggISh0YWJbb2Zmc2V0 XSAmIF9QQUdFX1BSRVNFTlQpICkKICAgICB7CiAgICAgICAgIHB0X3BmbiA9IHZpcnRfdG9fcGZu KGFsbG9jX3BhZ2UoKSk7CisgICAgICAgIGlmICggIXB0X3BmbiApCisgICAgICAgICAgICByZXR1 cm4gTlVMTDsKICAgICAgICAgbmV3X3B0X2ZyYW1lKCZwdF9wZm4sIHB0X21mbiwgb2Zmc2V0LCBM MV9GUkFNRSk7CiAgICAgfQogICAgIEFTU0VSVCh0YWJbb2Zmc2V0XSAmIF9QQUdFX1BSRVNFTlQp OwpAQCAtNDQ1LDEwICs0NTIsMTAgQEAgdW5zaWduZWQgbG9uZyBhbGxvY2F0ZV9vbmRlbWFuZCh1 bnNpZ25lZCBsb25nIG4sIHVuc2lnbmVkIGxvbmcgYWxpZ25tZW50KQogICogdmEuIG1hcCBmW2kq c3RyaWRlXStpKmluY3JlbWVudCBmb3IgaSBpbiAwLi5uLTEuCiAgKi8KICNkZWZpbmUgTUFQX0JB VENIICgoU1RBQ0tfU0laRSAvIDIpIC8gc2l6ZW9mKG1tdV91cGRhdGVfdCkpCi12b2lkIGRvX21h cF9mcmFtZXModW5zaWduZWQgbG9uZyB2YSwKLSAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNp Z25lZCBsb25nICptZm5zLCB1bnNpZ25lZCBsb25nIG4sIAotICAgICAgICAgICAgICAgICAgIHVu c2lnbmVkIGxvbmcgc3RyaWRlLCB1bnNpZ25lZCBsb25nIGluY3IsIAotICAgICAgICAgICAgICAg ICAgIGRvbWlkX3QgaWQsIGludCAqZXJyLCB1bnNpZ25lZCBsb25nIHByb3QpCitpbnQgZG9fbWFw X2ZyYW1lcyh1bnNpZ25lZCBsb25nIHZhLAorICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWdu ZWQgbG9uZyAqbWZucywgdW5zaWduZWQgbG9uZyBuLAorICAgICAgICAgICAgICAgICAgdW5zaWdu ZWQgbG9uZyBzdHJpZGUsIHVuc2lnbmVkIGxvbmcgaW5jciwKKyAgICAgICAgICAgICAgICAgIGRv bWlkX3QgaWQsIGludCAqZXJyLCB1bnNpZ25lZCBsb25nIHByb3QpCiB7CiAgICAgcGdlbnRyeV90 ICpwZ3QgPSBOVUxMOwogICAgIHVuc2lnbmVkIGxvbmcgZG9uZSA9IDA7CkBAIC00NTgsNyArNDY1 LDcgQEAgdm9pZCBkb19tYXBfZnJhbWVzKHVuc2lnbmVkIGxvbmcgdmEsCiAgICAgaWYgKCAhbWZu cyApIAogICAgIHsKICAgICAgICAgcHJpbnRrKCJkb19tYXBfZnJhbWVzOiBubyBtZm5zIHN1cHBs aWVkXG4iKTsKLSAgICAgICAgcmV0dXJuOworICAgICAgICByZXR1cm4gLUVJTlZBTDsKICAgICB9 CiAgICAgREVCVUcoInZhPSVwIG49MHglbHgsIG1mbnNbMF09MHglbHggc3RyaWRlPTB4JWx4IGlu Y3I9MHglbHggcHJvdD0weCVseFxuIiwKICAgICAgICAgICB2YSwgbiwgbWZuc1swXSwgc3RyaWRl LCBpbmNyLCBwcm90KTsKQEAgLTQ4NCw3ICs0OTEsOSBAQCB2b2lkIGRvX21hcF9mcmFtZXModW5z aWduZWQgbG9uZyB2YSwKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBpZiAoICFwZ3Qg fHwgISh2YSAmIEwxX01BU0spICkKICAgICAgICAgICAgICAgICAgICAgcGd0ID0gbmVlZF9wZ3Qo dmEpOwotICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGlmICggIXBndCApCisgICAg ICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOworCiAgICAgICAgICAgICAgICAgbW11X3Vw ZGF0ZXNbaV0ucHRyID0gdmlydF90b19tYWNoKHBndCkgfCBNTVVfTk9STUFMX1BUX1VQREFURTsK ICAgICAgICAgICAgICAgICBtbXVfdXBkYXRlc1tpXS52YWwgPSAoKHBnZW50cnlfdCkobWZuc1so ZG9uZSArIGkpICogc3RyaWRlXSArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChkb25lICsgaSkgKiBpbmNyKQpAQCAtNTA1LDYgKzUxNCw4IEBAIHZv aWQgZG9fbWFwX2ZyYW1lcyh1bnNpZ25lZCBsb25nIHZhLAogICAgICAgICB9CiAgICAgICAgIGRv bmUgKz0gdG9kbzsKICAgICB9CisKKyAgICByZXR1cm4gMDsKIH0KIAogLyoKQEAgLTUyMSw3ICs1 MzIsOCBAQCB2b2lkICptYXBfZnJhbWVzX2V4KGNvbnN0IHVuc2lnbmVkIGxvbmcgKm1mbnMsIHVu c2lnbmVkIGxvbmcgbiwKICAgICBpZiAoICF2YSApCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0g ICAgZG9fbWFwX2ZyYW1lcyh2YSwgbWZucywgbiwgc3RyaWRlLCBpbmNyLCBpZCwgZXJyLCBwcm90 KTsKKyAgICBpZiAoIGRvX21hcF9mcmFtZXModmEsIG1mbnMsIG4sIHN0cmlkZSwgaW5jciwgaWQs IGVyciwgcHJvdCkgKQorICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIHJldHVybiAodm9pZCAq KXZhOwogfQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9tbS5oIGIvaW5jbHVkZS9tbS5oCmluZGV4IGEy MmRjZDEuLjkyNDRlMjYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbW0uaAorKysgYi9pbmNsdWRlL21t LmgKQEAgLTY4LDcgKzY4LDcgQEAgdW5zaWduZWQgbG9uZyBhbGxvY2F0ZV9vbmRlbWFuZCh1bnNp Z25lZCBsb25nIG4sIHVuc2lnbmVkIGxvbmcgYWxpZ25tZW50KTsKIHZvaWQgKm1hcF9mcmFtZXNf ZXgoY29uc3QgdW5zaWduZWQgbG9uZyAqZiwgdW5zaWduZWQgbG9uZyBuLCB1bnNpZ25lZCBsb25n IHN0cmlkZSwKIAl1bnNpZ25lZCBsb25nIGluY3JlbWVudCwgdW5zaWduZWQgbG9uZyBhbGlnbm1l bnQsIGRvbWlkX3QgaWQsCiAJaW50ICplcnIsIHVuc2lnbmVkIGxvbmcgcHJvdCk7Ci12b2lkIGRv X21hcF9mcmFtZXModW5zaWduZWQgbG9uZyBhZGRyLAoraW50IGRvX21hcF9mcmFtZXModW5zaWdu ZWQgbG9uZyBhZGRyLAogICAgICAgICBjb25zdCB1bnNpZ25lZCBsb25nICpmLCB1bnNpZ25lZCBs b25nIG4sIHVuc2lnbmVkIGxvbmcgc3RyaWRlLAogCXVuc2lnbmVkIGxvbmcgaW5jcmVtZW50LCBk b21pZF90IGlkLCBpbnQgKmVyciwgdW5zaWduZWQgbG9uZyBwcm90KTsKIGludCB1bm1hcF9mcmFt ZXModW5zaWduZWQgbG9uZyB2YSwgdW5zaWduZWQgbG9uZyBudW1fZnJhbWVzKTsKLS0gCjIuNi42 CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRl dmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhl bi5vcmcveGVuLWRldmVsCg==