From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mike Rapoport Subject: [PATCH v2 16/21] mm/percpu: add checks for the return value of memblock_alloc*() Date: Mon, 21 Jan 2019 10:04:03 +0200 Message-ID: <1548057848-15136-17-git-send-email-rppt@linux.ibm.com> References: <1548057848-15136-1-git-send-email-rppt@linux.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1548057848-15136-1-git-send-email-rppt@linux.ibm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: linux-mm@kvack.org Cc: Rich Felker , linux-ia64@vger.kernel.org, devicetree@vger.kernel.org, Catalin Marinas , Heiko Carstens , x86@kernel.org, linux-mips@vger.kernel.org, Max Filippov , Guo Ren , sparclinux@vger.kernel.org, Christoph Hellwig , linux-s390@vger.kernel.org, linux-c6x-dev@linux-c6x.org, Yoshinori Sato , Richard Weinberger , linux-sh@vger.kernel.org, Russell King , kasan-dev@googlegroups.com, Mike Rapoport , Geert Uytterhoeven , Mark Salter , Dennis Zhou , Matt Turner , linux-snps-arc@lists.infradead.org, uclinux-h8-devel@lists.sourceforge.jp, Petr Mladek , linux-xtensa@linux-xten List-Id: devicetree@vger.kernel.org QWRkIHBhbmljKCkgY2FsbHMgaWYgbWVtYmxvY2tfYWxsb2MoKSByZXR1cm5zIE5VTEwuCgpUaGUg cGFuaWMoKSBmb3JtYXQgZHVwbGljYXRlcyB0aGUgb25lIHVzZWQgYnkgbWVtYmxvY2sgaXRzZWxm IGFuZCBpbiBvcmRlcgp0byBhdm9pZCBleHBsb3Npb24gd2l0aCBsb25nIHBhcmFtZXRlcnMgbGlz dCByZXBsYWNlIG9wZW4gY29kZWQgYWxsb2NhdGlvbgpzaXplIGNhbGN1bGF0aW9ucyB3aXRoIGEg bG9jYWwgdmFyaWFibGUuCgpTaWduZWQtb2ZmLWJ5OiBNaWtlIFJhcG9wb3J0IDxycHB0QGxpbnV4 LmlibS5jb20+Ci0tLQogbW0vcGVyY3B1LmMgfCA3MyArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNTYg aW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbW0vcGVyY3B1LmMg Yi9tbS9wZXJjcHUuYwppbmRleCBkYjg2MjgyLi41OTk4YjAzIDEwMDY0NAotLS0gYS9tbS9wZXJj cHUuYworKysgYi9tbS9wZXJjcHUuYwpAQCAtMTA4Niw2ICsxMDg2LDcgQEAgc3RhdGljIHN0cnVj dCBwY3B1X2NodW5rICogX19pbml0IHBjcHVfYWxsb2NfZmlyc3RfY2h1bmsodW5zaWduZWQgbG9u ZyB0bXBfYWRkciwKIAlzdHJ1Y3QgcGNwdV9jaHVuayAqY2h1bms7CiAJdW5zaWduZWQgbG9uZyBh bGlnbmVkX2FkZHIsIGxjbV9hbGlnbjsKIAlpbnQgc3RhcnRfb2Zmc2V0LCBvZmZzZXRfYml0cywg cmVnaW9uX3NpemUsIHJlZ2lvbl9iaXRzOworCXNpemVfdCBhbGxvY19zaXplOwogCiAJLyogcmVn aW9uIGNhbGN1bGF0aW9ucyAqLwogCWFsaWduZWRfYWRkciA9IHRtcF9hZGRyICYgUEFHRV9NQVNL OwpAQCAtMTEwMSw5ICsxMTAyLDEyIEBAIHN0YXRpYyBzdHJ1Y3QgcGNwdV9jaHVuayAqIF9faW5p dCBwY3B1X2FsbG9jX2ZpcnN0X2NodW5rKHVuc2lnbmVkIGxvbmcgdG1wX2FkZHIsCiAJcmVnaW9u X3NpemUgPSBBTElHTihzdGFydF9vZmZzZXQgKyBtYXBfc2l6ZSwgbGNtX2FsaWduKTsKIAogCS8q IGFsbG9jYXRlIGNodW5rICovCi0JY2h1bmsgPSBtZW1ibG9ja19hbGxvYyhzaXplb2Yoc3RydWN0 IHBjcHVfY2h1bmspICsKLQkJCSAgICAgICBCSVRTX1RPX0xPTkdTKHJlZ2lvbl9zaXplID4+IFBB R0VfU0hJRlQpLAotCQkJICAgICAgIFNNUF9DQUNIRV9CWVRFUyk7CisJYWxsb2Nfc2l6ZSA9IHNp emVvZihzdHJ1Y3QgcGNwdV9jaHVuaykgKworCQlCSVRTX1RPX0xPTkdTKHJlZ2lvbl9zaXplID4+ IFBBR0VfU0hJRlQpOworCWNodW5rID0gbWVtYmxvY2tfYWxsb2MoYWxsb2Nfc2l6ZSwgU01QX0NB Q0hFX0JZVEVTKTsKKwlpZiAoIWNodW5rKQorCQlwYW5pYygiJXM6IEZhaWxlZCB0byBhbGxvY2F0 ZSAlenUgYnl0ZXNcbiIsIF9fZnVuY19fLAorCQkgICAgICBhbGxvY19zaXplKTsKIAogCUlOSVRf TElTVF9IRUFEKCZjaHVuay0+bGlzdCk7CiAKQEAgLTExMTQsMTIgKzExMTgsMjUgQEAgc3RhdGlj IHN0cnVjdCBwY3B1X2NodW5rICogX19pbml0IHBjcHVfYWxsb2NfZmlyc3RfY2h1bmsodW5zaWdu ZWQgbG9uZyB0bXBfYWRkciwKIAljaHVuay0+bnJfcGFnZXMgPSByZWdpb25fc2l6ZSA+PiBQQUdF X1NISUZUOwogCXJlZ2lvbl9iaXRzID0gcGNwdV9jaHVua19tYXBfYml0cyhjaHVuayk7CiAKLQlj aHVuay0+YWxsb2NfbWFwID0gbWVtYmxvY2tfYWxsb2MoQklUU19UT19MT05HUyhyZWdpb25fYml0 cykgKiBzaXplb2YoY2h1bmstPmFsbG9jX21hcFswXSksCi0JCQkJCSAgU01QX0NBQ0hFX0JZVEVT KTsKLQljaHVuay0+Ym91bmRfbWFwID0gbWVtYmxvY2tfYWxsb2MoQklUU19UT19MT05HUyhyZWdp b25fYml0cyArIDEpICogc2l6ZW9mKGNodW5rLT5ib3VuZF9tYXBbMF0pLAotCQkJCQkgIFNNUF9D QUNIRV9CWVRFUyk7Ci0JY2h1bmstPm1kX2Jsb2NrcyA9IG1lbWJsb2NrX2FsbG9jKHBjcHVfY2h1 bmtfbnJfYmxvY2tzKGNodW5rKSAqIHNpemVvZihjaHVuay0+bWRfYmxvY2tzWzBdKSwKLQkJCQkJ ICBTTVBfQ0FDSEVfQllURVMpOworCWFsbG9jX3NpemUgPSBCSVRTX1RPX0xPTkdTKHJlZ2lvbl9i aXRzKSAqIHNpemVvZihjaHVuay0+YWxsb2NfbWFwWzBdKTsKKwljaHVuay0+YWxsb2NfbWFwID0g bWVtYmxvY2tfYWxsb2MoYWxsb2Nfc2l6ZSwgU01QX0NBQ0hFX0JZVEVTKTsKKwlpZiAoIWNodW5r LT5hbGxvY19tYXApCisJCXBhbmljKCIlczogRmFpbGVkIHRvIGFsbG9jYXRlICV6dSBieXRlc1xu IiwgX19mdW5jX18sCisJCSAgICAgIGFsbG9jX3NpemUpOworCisJYWxsb2Nfc2l6ZSA9CisJCUJJ VFNfVE9fTE9OR1MocmVnaW9uX2JpdHMgKyAxKSAqIHNpemVvZihjaHVuay0+Ym91bmRfbWFwWzBd KTsKKwljaHVuay0+Ym91bmRfbWFwID0gbWVtYmxvY2tfYWxsb2MoYWxsb2Nfc2l6ZSwgU01QX0NB Q0hFX0JZVEVTKTsKKwlpZiAoIWNodW5rLT5ib3VuZF9tYXApCisJCXBhbmljKCIlczogRmFpbGVk IHRvIGFsbG9jYXRlICV6dSBieXRlc1xuIiwgX19mdW5jX18sCisJCSAgICAgIGFsbG9jX3NpemUp OworCisJYWxsb2Nfc2l6ZSA9IHBjcHVfY2h1bmtfbnJfYmxvY2tzKGNodW5rKSAqIHNpemVvZihj aHVuay0+bWRfYmxvY2tzWzBdKTsKKwljaHVuay0+bWRfYmxvY2tzID0gbWVtYmxvY2tfYWxsb2Mo YWxsb2Nfc2l6ZSwgU01QX0NBQ0hFX0JZVEVTKTsKKwlpZiAoIWNodW5rLT5tZF9ibG9ja3MpCisJ CXBhbmljKCIlczogRmFpbGVkIHRvIGFsbG9jYXRlICV6dSBieXRlc1xuIiwgX19mdW5jX18sCisJ CSAgICAgIGFsbG9jX3NpemUpOworCiAJcGNwdV9pbml0X21kX2Jsb2NrcyhjaHVuayk7CiAKIAkv KiBtYW5hZ2UgcG9wdWxhdGVkIHBhZ2UgYml0bWFwICovCkBAIC0yMDQ0LDYgKzIwNjEsNyBAQCBp bnQgX19pbml0IHBjcHVfc2V0dXBfZmlyc3RfY2h1bmsoY29uc3Qgc3RydWN0IHBjcHVfYWxsb2Nf aW5mbyAqYWksCiAJaW50IGdyb3VwLCB1bml0LCBpOwogCWludCBtYXBfc2l6ZTsKIAl1bnNpZ25l ZCBsb25nIHRtcF9hZGRyOworCXNpemVfdCBhbGxvY19zaXplOwogCiAjZGVmaW5lIFBDUFVfU0VU VVBfQlVHX09OKGNvbmQpCWRvIHsJCQkJCVwKIAlpZiAodW5saWtlbHkoY29uZCkpIHsJCQkJCQlc CkBAIC0yMDc1LDE0ICsyMDkzLDI5IEBAIGludCBfX2luaXQgcGNwdV9zZXR1cF9maXJzdF9jaHVu ayhjb25zdCBzdHJ1Y3QgcGNwdV9hbGxvY19pbmZvICphaSwKIAlQQ1BVX1NFVFVQX0JVR19PTihw Y3B1X3ZlcmlmeV9hbGxvY19pbmZvKGFpKSA8IDApOwogCiAJLyogcHJvY2VzcyBncm91cCBpbmZv cm1hdGlvbiBhbmQgYnVpbGQgY29uZmlnIHRhYmxlcyBhY2NvcmRpbmdseSAqLwotCWdyb3VwX29m ZnNldHMgPSBtZW1ibG9ja19hbGxvYyhhaS0+bnJfZ3JvdXBzICogc2l6ZW9mKGdyb3VwX29mZnNl dHNbMF0pLAotCQkJCSAgICAgICBTTVBfQ0FDSEVfQllURVMpOwotCWdyb3VwX3NpemVzID0gbWVt YmxvY2tfYWxsb2MoYWktPm5yX2dyb3VwcyAqIHNpemVvZihncm91cF9zaXplc1swXSksCi0JCQkJ ICAgICBTTVBfQ0FDSEVfQllURVMpOwotCXVuaXRfbWFwID0gbWVtYmxvY2tfYWxsb2MobnJfY3B1 X2lkcyAqIHNpemVvZih1bml0X21hcFswXSksCi0JCQkJICBTTVBfQ0FDSEVfQllURVMpOwotCXVu aXRfb2ZmID0gbWVtYmxvY2tfYWxsb2MobnJfY3B1X2lkcyAqIHNpemVvZih1bml0X29mZlswXSks Ci0JCQkJICBTTVBfQ0FDSEVfQllURVMpOworCWFsbG9jX3NpemUgPSBhaS0+bnJfZ3JvdXBzICog c2l6ZW9mKGdyb3VwX29mZnNldHNbMF0pOworCWdyb3VwX29mZnNldHMgPSBtZW1ibG9ja19hbGxv YyhhbGxvY19zaXplLCBTTVBfQ0FDSEVfQllURVMpOworCWlmICghZ3JvdXBfb2Zmc2V0cykKKwkJ cGFuaWMoIiVzOiBGYWlsZWQgdG8gYWxsb2NhdGUgJXp1IGJ5dGVzXG4iLCBfX2Z1bmNfXywKKwkJ ICAgICAgYWxsb2Nfc2l6ZSk7CisKKwlhbGxvY19zaXplID0gYWktPm5yX2dyb3VwcyAqIHNpemVv Zihncm91cF9zaXplc1swXSk7CisJZ3JvdXBfc2l6ZXMgPSBtZW1ibG9ja19hbGxvYyhhbGxvY19z aXplLCBTTVBfQ0FDSEVfQllURVMpOworCWlmICghZ3JvdXBfc2l6ZXMpCisJCXBhbmljKCIlczog RmFpbGVkIHRvIGFsbG9jYXRlICV6dSBieXRlc1xuIiwgX19mdW5jX18sCisJCSAgICAgIGFsbG9j X3NpemUpOworCisJYWxsb2Nfc2l6ZSA9IG5yX2NwdV9pZHMgKiBzaXplb2YodW5pdF9tYXBbMF0p OworCXVuaXRfbWFwID0gbWVtYmxvY2tfYWxsb2MoYWxsb2Nfc2l6ZSwgU01QX0NBQ0hFX0JZVEVT KTsKKwlpZiAoIXVuaXRfbWFwKQorCQlwYW5pYygiJXM6IEZhaWxlZCB0byBhbGxvY2F0ZSAlenUg Ynl0ZXNcbiIsIF9fZnVuY19fLAorCQkgICAgICBhbGxvY19zaXplKTsKKworCWFsbG9jX3NpemUg PSBucl9jcHVfaWRzICogc2l6ZW9mKHVuaXRfb2ZmWzBdKTsKKwl1bml0X29mZiA9IG1lbWJsb2Nr X2FsbG9jKGFsbG9jX3NpemUsIFNNUF9DQUNIRV9CWVRFUyk7CisJaWYgKCF1bml0X29mZikKKwkJ cGFuaWMoIiVzOiBGYWlsZWQgdG8gYWxsb2NhdGUgJXp1IGJ5dGVzXG4iLCBfX2Z1bmNfXywKKwkJ ICAgICAgYWxsb2Nfc2l6ZSk7CiAKIAlmb3IgKGNwdSA9IDA7IGNwdSA8IG5yX2NwdV9pZHM7IGNw dSsrKQogCQl1bml0X21hcFtjcHVdID0gVUlOVF9NQVg7CkBAIC0yMTQ4LDYgKzIxODEsOSBAQCBp bnQgX19pbml0IHBjcHVfc2V0dXBfZmlyc3RfY2h1bmsoY29uc3Qgc3RydWN0IHBjcHVfYWxsb2Nf aW5mbyAqYWksCiAJcGNwdV9ucl9zbG90cyA9IF9fcGNwdV9zaXplX3RvX3Nsb3QocGNwdV91bml0 X3NpemUpICsgMjsKIAlwY3B1X3Nsb3QgPSBtZW1ibG9ja19hbGxvYyhwY3B1X25yX3Nsb3RzICog c2l6ZW9mKHBjcHVfc2xvdFswXSksCiAJCQkJICAgU01QX0NBQ0hFX0JZVEVTKTsKKwlpZiAoIXBj cHVfc2xvdCkKKwkJcGFuaWMoIiVzOiBGYWlsZWQgdG8gYWxsb2NhdGUgJXp1IGJ5dGVzXG4iLCBf X2Z1bmNfXywKKwkJICAgICAgcGNwdV9ucl9zbG90cyAqIHNpemVvZihwY3B1X3Nsb3RbMF0pKTsK IAlmb3IgKGkgPSAwOyBpIDwgcGNwdV9ucl9zbG90czsgaSsrKQogCQlJTklUX0xJU1RfSEVBRCgm cGNwdV9zbG90W2ldKTsKIApAQCAtMjYwMiw2ICsyNjM4LDkgQEAgaW50IF9faW5pdCBwY3B1X3Bh Z2VfZmlyc3RfY2h1bmsoc2l6ZV90IHJlc2VydmVkX3NpemUsCiAJcGFnZXNfc2l6ZSA9IFBGTl9B TElHTih1bml0X3BhZ2VzICogbnVtX3Bvc3NpYmxlX2NwdXMoKSAqCiAJCQkgICAgICAgc2l6ZW9m KHBhZ2VzWzBdKSk7CiAJcGFnZXMgPSBtZW1ibG9ja19hbGxvYyhwYWdlc19zaXplLCBTTVBfQ0FD SEVfQllURVMpOworCWlmICghcGFnZXMpCisJCXBhbmljKCIlczogRmFpbGVkIHRvIGFsbG9jYXRl ICV6dSBieXRlc1xuIiwgX19mdW5jX18sCisJCSAgICAgIHBhZ2VzX3NpemUpOwogCiAJLyogYWxs b2NhdGUgcGFnZXMgKi8KIAlqID0gMDsKLS0gCjIuNy40CgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2 ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWls bWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==