From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v3 11/19] mini-os: add checks for out of memory Date: Thu, 11 Aug 2016 11:18:14 +0200 Message-ID: <1470907102-14656-12-git-send-email-jgross@suse.com> References: <1470907102-14656-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: <1470907102-14656-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 LW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPgpSZXZpZXdlZC1ieTogU2Ft dWVsIFRoaWJhdWx0IDxzYW11ZWwudGhpYmF1bHRAZW5zLWx5b24ub3JnPgotLS0KIGFyY2gvYXJt L21tLmMgfCAgOCArKysrKysrKwogYXJjaC94ODYvbW0uYyB8IDI2ICsrKysrKysrKysrKysrKysr KystLS0tLS0tCiBpbmNsdWRlL21tLmggIHwgIDIgKy0KIDMgZmlsZXMgY2hhbmdlZCwgMjggaW5z ZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tbS5jIGIv YXJjaC9hcm0vbW0uYwppbmRleCBmNzU4ODhkLi5mYzhkNGJjIDEwMDY0NAotLS0gYS9hcmNoL2Fy bS9tbS5jCisrKyBiL2FyY2gvYXJtL21tLmMKQEAgLTEsNiArMSw3IEBACiAjaW5jbHVkZSA8bWlu aS1vcy9jb25zb2xlLmg+CiAjaW5jbHVkZSA8eGVuL21lbW9yeS5oPgogI2luY2x1ZGUgPGFyY2hf bW0uaD4KKyNpbmNsdWRlIDxtaW5pLW9zL2Vycm5vLmg+CiAjaW5jbHVkZSA8bWluaS1vcy9oeXBl cnZpc29yLmg+CiAjaW5jbHVkZSA8bGliZmR0Lmg+CiAjaW5jbHVkZSA8bGliLmg+CkBAIC03OSw2 ICs4MCwxMyBAQCB2b2lkIGFyY2hfaW5pdF9kZW1hbmRfbWFwcGluZ19hcmVhKHZvaWQpCiB7CiB9 CiAKK2ludCBkb19tYXBfZnJhbWVzKHVuc2lnbmVkIGxvbmcgYWRkciwKKyAgICAgICAgY29uc3Qg dW5zaWduZWQgbG9uZyAqZiwgdW5zaWduZWQgbG9uZyBuLCB1bnNpZ25lZCBsb25nIHN0cmlkZSwK KyAgICAgICAgdW5zaWduZWQgbG9uZyBpbmNyZW1lbnQsIGRvbWlkX3QgaWQsIGludCAqZXJyLCB1 bnNpZ25lZCBsb25nIHByb3QpCit7CisgICAgcmV0dXJuIC1FTk9TWVM7Cit9CisKIC8qIEdldCBY ZW4ncyBzdWdnZXN0ZWQgcGh5c2ljYWwgcGFnZSBhc3NpZ25tZW50cyBmb3IgdGhlIGdyYW50IHRh YmxlLiAqLwogc3RhdGljIHBhZGRyX3QgZ2V0X2dudHRhYl9iYXNlKHZvaWQpCiB7CmRpZmYgLS1n aXQgYS9hcmNoL3g4Ni9tbS5jIGIvYXJjaC94ODYvbW0uYwppbmRleCBlMmYwMjZiLi4xMmY3ZmU0 IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9tbS5jCisrKyBiL2FyY2gveDg2L21tLmMKQEAgLTM0LDYg KzM0LDcgQEAKICAqIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KICAqLwogCisjaW5jbHVkZSA8 bWluaS1vcy9lcnJuby5oPgogI2luY2x1ZGUgPG1pbmktb3Mvb3MuaD4KICNpbmNsdWRlIDxtaW5p LW9zL2h5cGVydmlzb3IuaD4KICNpbmNsdWRlIDxtaW5pLW9zL21tLmg+CkBAIC0zNTQsNiArMzU1 LDggQEAgcGdlbnRyeV90ICpuZWVkX3BndCh1bnNpZ25lZCBsb25nIHZhKQogICAgIGlmICggISh0 YWJbb2Zmc2V0XSAmIF9QQUdFX1BSRVNFTlQpICkKICAgICB7CiAgICAgICAgIHB0X3BmbiA9IHZp cnRfdG9fcGZuKGFsbG9jX3BhZ2UoKSk7CisgICAgICAgIGlmICggIXB0X3BmbiApCisgICAgICAg ICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgbmV3X3B0X2ZyYW1lKCZwdF9wZm4sIHB0X21mbiwg b2Zmc2V0LCBMM19GUkFNRSk7CiAgICAgfQogICAgIEFTU0VSVCh0YWJbb2Zmc2V0XSAmIF9QQUdF X1BSRVNFTlQpOwpAQCAtMzY0LDYgKzM2Nyw4IEBAIHBnZW50cnlfdCAqbmVlZF9wZ3QodW5zaWdu ZWQgbG9uZyB2YSkKICAgICBpZiAoICEodGFiW29mZnNldF0gJiBfUEFHRV9QUkVTRU5UKSApIAog ICAgIHsKICAgICAgICAgcHRfcGZuID0gdmlydF90b19wZm4oYWxsb2NfcGFnZSgpKTsKKyAgICAg ICAgaWYgKCAhcHRfcGZuICkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICBuZXdf cHRfZnJhbWUoJnB0X3BmbiwgcHRfbWZuLCBvZmZzZXQsIEwyX0ZSQU1FKTsKICAgICB9CiAgICAg QVNTRVJUKHRhYltvZmZzZXRdICYgX1BBR0VfUFJFU0VOVCk7CkBAIC0zNzMsNiArMzc4LDggQEAg cGdlbnRyeV90ICpuZWVkX3BndCh1bnNpZ25lZCBsb25nIHZhKQogICAgIGlmICggISh0YWJbb2Zm c2V0XSAmIF9QQUdFX1BSRVNFTlQpICkKICAgICB7CiAgICAgICAgIHB0X3BmbiA9IHZpcnRfdG9f cGZuKGFsbG9jX3BhZ2UoKSk7CisgICAgICAgIGlmICggIXB0X3BmbiApCisgICAgICAgICAgICBy ZXR1cm4gTlVMTDsKICAgICAgICAgbmV3X3B0X2ZyYW1lKCZwdF9wZm4sIHB0X21mbiwgb2Zmc2V0 LCBMMV9GUkFNRSk7CiAgICAgfQogICAgIEFTU0VSVCh0YWJbb2Zmc2V0XSAmIF9QQUdFX1BSRVNF TlQpOwpAQCAtNDQ1LDEwICs0NTIsMTAgQEAgdW5zaWduZWQgbG9uZyBhbGxvY2F0ZV9vbmRlbWFu ZCh1bnNpZ25lZCBsb25nIG4sIHVuc2lnbmVkIGxvbmcgYWxpZ25tZW50KQogICogdmEuIG1hcCBm W2kqc3RyaWRlXStpKmluY3JlbWVudCBmb3IgaSBpbiAwLi5uLTEuCiAgKi8KICNkZWZpbmUgTUFQ X0JBVENIICgoU1RBQ0tfU0laRSAvIDIpIC8gc2l6ZW9mKG1tdV91cGRhdGVfdCkpCi12b2lkIGRv X21hcF9mcmFtZXModW5zaWduZWQgbG9uZyB2YSwKLSAgICAgICAgICAgICAgICAgICBjb25zdCB1 bnNpZ25lZCBsb25nICptZm5zLCB1bnNpZ25lZCBsb25nIG4sIAotICAgICAgICAgICAgICAgICAg IHVuc2lnbmVkIGxvbmcgc3RyaWRlLCB1bnNpZ25lZCBsb25nIGluY3IsIAotICAgICAgICAgICAg ICAgICAgIGRvbWlkX3QgaWQsIGludCAqZXJyLCB1bnNpZ25lZCBsb25nIHByb3QpCitpbnQgZG9f bWFwX2ZyYW1lcyh1bnNpZ25lZCBsb25nIHZhLAorICAgICAgICAgICAgICAgICAgY29uc3QgdW5z aWduZWQgbG9uZyAqbWZucywgdW5zaWduZWQgbG9uZyBuLAorICAgICAgICAgICAgICAgICAgdW5z aWduZWQgbG9uZyBzdHJpZGUsIHVuc2lnbmVkIGxvbmcgaW5jciwKKyAgICAgICAgICAgICAgICAg IGRvbWlkX3QgaWQsIGludCAqZXJyLCB1bnNpZ25lZCBsb25nIHByb3QpCiB7CiAgICAgcGdlbnRy eV90ICpwZ3QgPSBOVUxMOwogICAgIHVuc2lnbmVkIGxvbmcgZG9uZSA9IDA7CkBAIC00NTgsNyAr NDY1LDcgQEAgdm9pZCBkb19tYXBfZnJhbWVzKHVuc2lnbmVkIGxvbmcgdmEsCiAgICAgaWYgKCAh bWZucyApIAogICAgIHsKICAgICAgICAgcHJpbnRrKCJkb19tYXBfZnJhbWVzOiBubyBtZm5zIHN1 cHBsaWVkXG4iKTsKLSAgICAgICAgcmV0dXJuOworICAgICAgICByZXR1cm4gLUVJTlZBTDsKICAg ICB9CiAgICAgREVCVUcoInZhPSVwIG49MHglbHgsIG1mbnNbMF09MHglbHggc3RyaWRlPTB4JWx4 IGluY3I9MHglbHggcHJvdD0weCVseFxuIiwKICAgICAgICAgICB2YSwgbiwgbWZuc1swXSwgc3Ry aWRlLCBpbmNyLCBwcm90KTsKQEAgLTQ4NCw3ICs0OTEsOSBAQCB2b2lkIGRvX21hcF9mcmFtZXMo dW5zaWduZWQgbG9uZyB2YSwKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBpZiAoICFw Z3QgfHwgISh2YSAmIEwxX01BU0spICkKICAgICAgICAgICAgICAgICAgICAgcGd0ID0gbmVlZF9w Z3QodmEpOwotICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGlmICggIXBndCApCisg ICAgICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOworCiAgICAgICAgICAgICAgICAgbW11 X3VwZGF0ZXNbaV0ucHRyID0gdmlydF90b19tYWNoKHBndCkgfCBNTVVfTk9STUFMX1BUX1VQREFU RTsKICAgICAgICAgICAgICAgICBtbXVfdXBkYXRlc1tpXS52YWwgPSAoKHBnZW50cnlfdCkobWZu c1soZG9uZSArIGkpICogc3RyaWRlXSArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChkb25lICsgaSkgKiBpbmNyKQpAQCAtNTA1LDYgKzUxNCw4IEBA IHZvaWQgZG9fbWFwX2ZyYW1lcyh1bnNpZ25lZCBsb25nIHZhLAogICAgICAgICB9CiAgICAgICAg IGRvbmUgKz0gdG9kbzsKICAgICB9CisKKyAgICByZXR1cm4gMDsKIH0KIAogLyoKQEAgLTUyMSw3 ICs1MzIsOCBAQCB2b2lkICptYXBfZnJhbWVzX2V4KGNvbnN0IHVuc2lnbmVkIGxvbmcgKm1mbnMs IHVuc2lnbmVkIGxvbmcgbiwKICAgICBpZiAoICF2YSApCiAgICAgICAgIHJldHVybiBOVUxMOwog Ci0gICAgZG9fbWFwX2ZyYW1lcyh2YSwgbWZucywgbiwgc3RyaWRlLCBpbmNyLCBpZCwgZXJyLCBw cm90KTsKKyAgICBpZiAoIGRvX21hcF9mcmFtZXModmEsIG1mbnMsIG4sIHN0cmlkZSwgaW5jciwg aWQsIGVyciwgcHJvdCkgKQorICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIHJldHVybiAodm9p ZCAqKXZhOwogfQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9tbS5oIGIvaW5jbHVkZS9tbS5oCmluZGV4 IGEyMmRjZDEuLjkyNDRlMjYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbW0uaAorKysgYi9pbmNsdWRl L21tLmgKQEAgLTY4LDcgKzY4LDcgQEAgdW5zaWduZWQgbG9uZyBhbGxvY2F0ZV9vbmRlbWFuZCh1 bnNpZ25lZCBsb25nIG4sIHVuc2lnbmVkIGxvbmcgYWxpZ25tZW50KTsKIHZvaWQgKm1hcF9mcmFt ZXNfZXgoY29uc3QgdW5zaWduZWQgbG9uZyAqZiwgdW5zaWduZWQgbG9uZyBuLCB1bnNpZ25lZCBs b25nIHN0cmlkZSwKIAl1bnNpZ25lZCBsb25nIGluY3JlbWVudCwgdW5zaWduZWQgbG9uZyBhbGln bm1lbnQsIGRvbWlkX3QgaWQsCiAJaW50ICplcnIsIHVuc2lnbmVkIGxvbmcgcHJvdCk7Ci12b2lk IGRvX21hcF9mcmFtZXModW5zaWduZWQgbG9uZyBhZGRyLAoraW50IGRvX21hcF9mcmFtZXModW5z aWduZWQgbG9uZyBhZGRyLAogICAgICAgICBjb25zdCB1bnNpZ25lZCBsb25nICpmLCB1bnNpZ25l ZCBsb25nIG4sIHVuc2lnbmVkIGxvbmcgc3RyaWRlLAogCXVuc2lnbmVkIGxvbmcgaW5jcmVtZW50 LCBkb21pZF90IGlkLCBpbnQgKmVyciwgdW5zaWduZWQgbG9uZyBwcm90KTsKIGludCB1bm1hcF9m cmFtZXModW5zaWduZWQgbG9uZyB2YSwgdW5zaWduZWQgbG9uZyBudW1fZnJhbWVzKTsKLS0gCjIu Ni42CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVu LWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3Rz Lnhlbi5vcmcveGVuLWRldmVsCg==