From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christophe Leroy Date: Thu, 31 Jan 2019 06:07:46 +0000 Subject: Re: [PATCH v2 19/21] treewide: add checks for the return value of memblock_alloc*() Message-Id: List-Id: References: <1548057848-15136-1-git-send-email-rppt@linux.ibm.com> <1548057848-15136-20-git-send-email-rppt@linux.ibm.com> In-Reply-To: <1548057848-15136-20-git-send-email-rppt@linux.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit To: Mike Rapoport , linux-mm@kvack.org Cc: Rich Felker , linux-ia64@vger.kernel.org, Petr Mladek , linux-sh@vger.kernel.org, Catalin Marinas , Heiko Carstens , linux-kernel@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 , x86@kernel.org, Russell King , kasan-dev@googlegroups.com, Geert Uytterhoeven , Mark Salter , Dennis Zhou , Matt Turner , linux-snps-arc@lists.infradead.org, uclinux-h8-devel@lists.sourceforge.jp, devicetree@vger.kernel.org, Stephen Rothwell , linux-xtensa@linux-xtensa.org, linux-um@lists.infradead.org, linux-m68k@lists.linux-m68k.org, Rob Herring , Greentime Hu , xen-devel@lists.xenproject.org, Stafford Horne , Guan Xuetao , linux-arm-kernel@lists.infradead.org, Michal Simek , Tony Luck , Greg Kroah-Hartman , linux-usb@vger.kernel.org, linux-mips@vger.kernel.org, Paul Burton , Vineet Gupta , linux-alpha@vger.kernel.org, Andrew Morton , linuxppc-dev@lists.ozlabs.org, "David S. Miller" , openrisc@lists.librecores.org Le 21/01/2019 à 09:04, Mike Rapoport a écrit : > Add check for the return value of memblock_alloc*() functions and call > panic() in case of error. > The panic message repeats the one used by panicing memblock allocators with > adjustment of parameters to include only relevant ones. > > The replacement was mostly automated with semantic patches like the one > below with manual massaging of format strings. > > @@ > expression ptr, size, align; > @@ > ptr = memblock_alloc(size, align); > + if (!ptr) > + panic("%s: Failed to allocate %lu bytes align=0x%lx\n", __func__, > size, align); > > Signed-off-by: Mike Rapoport > Reviewed-by: Guo Ren # c-sky > Acked-by: Paul Burton # MIPS > Acked-by: Heiko Carstens # s390 > Reviewed-by: Juergen Gross # Xen > --- [...] > diff --git a/mm/sparse.c b/mm/sparse.c > index 7ea5dc6..ad94242 100644 > --- a/mm/sparse.c > +++ b/mm/sparse.c [...] > @@ -425,6 +436,10 @@ static void __init sparse_buffer_init(unsigned long size, int nid) > memblock_alloc_try_nid_raw(size, PAGE_SIZE, > __pa(MAX_DMA_ADDRESS), > MEMBLOCK_ALLOC_ACCESSIBLE, nid); > + if (!sparsemap_buf) > + panic("%s: Failed to allocate %lu bytes align=0x%lx nid=%d from=%lx\n", > + __func__, size, PAGE_SIZE, nid, __pa(MAX_DMA_ADDRESS)); > + memblock_alloc_try_nid_raw() does not panic (help explicitly says: Does not zero allocated memory, does not panic if request cannot be satisfied.). Stephen Rothwell reports a boot failure due to this change. Christophe > sparsemap_buf_end = sparsemap_buf + size; > } > > From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6761AC169C4 for ; Thu, 31 Jan 2019 06:07:55 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 40C9B20881 for ; Thu, 31 Jan 2019 06:07:55 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=c-s.fr header.i=@c-s.fr header.b="PPRKteYu" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728668AbfAaGHx (ORCPT ); Thu, 31 Jan 2019 01:07:53 -0500 Received: from pegase1.c-s.fr ([93.17.236.30]:25735 "EHLO pegase1.c-s.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725816AbfAaGHw (ORCPT ); Thu, 31 Jan 2019 01:07:52 -0500 Received: from localhost (mailhub1-int [192.168.12.234]) by localhost (Postfix) with ESMTP id 43qqXN2zD6z9v0y2; Thu, 31 Jan 2019 07:07:48 +0100 (CET) Authentication-Results: localhost; dkim=pass reason="1024-bit key; insecure key" header.d=c-s.fr header.i=@c-s.fr header.b=PPRKteYu; dkim-adsp=pass; dkim-atps=neutral X-Virus-Scanned: Debian amavisd-new at c-s.fr Received: from pegase1.c-s.fr ([192.168.12.234]) by localhost (pegase1.c-s.fr [192.168.12.234]) (amavisd-new, port 10024) with ESMTP id 8eQljt9yKxMk; Thu, 31 Jan 2019 07:07:48 +0100 (CET) Received: from messagerie.si.c-s.fr (messagerie.si.c-s.fr [192.168.25.192]) by pegase1.c-s.fr (Postfix) with ESMTP id 43qqXN19Kmz9v0y0; Thu, 31 Jan 2019 07:07:48 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=c-s.fr; s=mail; t=1548914868; bh=NCah7PD0r/noHO/Uh52qxtNlyFWpGoyRnjJU9LYwodw=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=PPRKteYuUZeYij8URy8Yi6SlDuWnapGXe+mGP4EjcgzMqqNP8EZdSP5FNVjPYInsT 1SLAJFU3/5dHTmUUvReCIz9Epq15HGwbyMCJ7xsQ51aFHaQlJbFmKmOks3EsEBfY8B rAbHZg9+ub3vVM8gaD3FsZGuNpYhHL+xUNVYs/Xg= Received: from localhost (localhost [127.0.0.1]) by messagerie.si.c-s.fr (Postfix) with ESMTP id E31D88B78D; Thu, 31 Jan 2019 07:07:48 +0100 (CET) X-Virus-Scanned: amavisd-new at c-s.fr Received: from messagerie.si.c-s.fr ([127.0.0.1]) by localhost (messagerie.si.c-s.fr [127.0.0.1]) (amavisd-new, port 10023) with ESMTP id UCr4ES66h6TH; Thu, 31 Jan 2019 07:07:48 +0100 (CET) Received: from PO15451 (unknown [192.168.4.90]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 8FD748B74C; Thu, 31 Jan 2019 07:07:46 +0100 (CET) Subject: Re: [PATCH v2 19/21] treewide: add checks for the return value of memblock_alloc*() To: Mike Rapoport , 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, 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-xtensa.org, linux-alpha@vger.kernel.org, linux-um@lists.infradead.org, linux-m68k@lists.linux-m68k.org, Rob Herring , Greentime Hu , xen-devel@lists.xenproject.org, Stafford Horne , Guan Xuetao , linux-arm-kernel@lists.infradead.org, Michal Simek , Tony Luck , Greg Kroah-Hartman , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Paul Burton , Vineet Gupta , Andrew Morton , linuxppc-dev@lists.ozlabs.org, "David S. Miller" , openrisc@lists.librecores.org, Stephen Rothwell References: <1548057848-15136-1-git-send-email-rppt@linux.ibm.com> <1548057848-15136-20-git-send-email-rppt@linux.ibm.com> From: Christophe Leroy Message-ID: Date: Thu, 31 Jan 2019 07:07:46 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 MIME-Version: 1.0 In-Reply-To: <1548057848-15136-20-git-send-email-rppt@linux.ibm.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: fr Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Le 21/01/2019 à 09:04, Mike Rapoport a écrit : > Add check for the return value of memblock_alloc*() functions and call > panic() in case of error. > The panic message repeats the one used by panicing memblock allocators with > adjustment of parameters to include only relevant ones. > > The replacement was mostly automated with semantic patches like the one > below with manual massaging of format strings. > > @@ > expression ptr, size, align; > @@ > ptr = memblock_alloc(size, align); > + if (!ptr) > + panic("%s: Failed to allocate %lu bytes align=0x%lx\n", __func__, > size, align); > > Signed-off-by: Mike Rapoport > Reviewed-by: Guo Ren # c-sky > Acked-by: Paul Burton # MIPS > Acked-by: Heiko Carstens # s390 > Reviewed-by: Juergen Gross # Xen > --- [...] > diff --git a/mm/sparse.c b/mm/sparse.c > index 7ea5dc6..ad94242 100644 > --- a/mm/sparse.c > +++ b/mm/sparse.c [...] > @@ -425,6 +436,10 @@ static void __init sparse_buffer_init(unsigned long size, int nid) > memblock_alloc_try_nid_raw(size, PAGE_SIZE, > __pa(MAX_DMA_ADDRESS), > MEMBLOCK_ALLOC_ACCESSIBLE, nid); > + if (!sparsemap_buf) > + panic("%s: Failed to allocate %lu bytes align=0x%lx nid=%d from=%lx\n", > + __func__, size, PAGE_SIZE, nid, __pa(MAX_DMA_ADDRESS)); > + memblock_alloc_try_nid_raw() does not panic (help explicitly says: Does not zero allocated memory, does not panic if request cannot be satisfied.). Stephen Rothwell reports a boot failure due to this change. Christophe > sparsemap_buf_end = sparsemap_buf + size; > } > > From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Subject: Re: [PATCH v2 19/21] treewide: add checks for the return value of memblock_alloc*() References: <1548057848-15136-1-git-send-email-rppt@linux.ibm.com> <1548057848-15136-20-git-send-email-rppt@linux.ibm.com> From: Christophe Leroy Message-ID: Date: Thu, 31 Jan 2019 07:07:46 +0100 MIME-Version: 1.0 In-Reply-To: <1548057848-15136-20-git-send-email-rppt@linux.ibm.com> Content-Language: fr List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org List-Archive: To: Mike Rapoport , linux-mm@kvack.org Cc: Rich Felker , linux-ia64@vger.kernel.org, Petr Mladek , linux-sh@vger.kernel.org, Catalin Marinas , Heiko Carstens , linux-kernel@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 , x86@kernel.org, Russell King , kasan-dev@googlegroups.com, Geert Uytterhoeven , Mark Salter , Dennis Zhou , Matt Turner , linux-snps-arc@lists.infradead.org, uclinux-h8-devel@lists.sourceforge.jp, devicetree@vger.kernel.org, Stephen Rothwell , linux-xtensa@linux-xtensa.org, linux-um@lists.infradead.org, linux-m68k@lists.linux-m68k.org, Rob Herring , Greentime Hu , xen-devel@lists.xenproject.org, Stafford Horne , Guan Xuetao , linux-arm-kernel@lists.infradead.org, Michal Simek , Tony Luck , Greg Kroah-Hartman , linux-usb@vger.kernel.org, linux-mips@vger.kernel.org, Paul Burton , Vineet Gupta , linux-alpha@vger.kernel.org, Andrew Morton , linuxppc-dev@lists.ozlabs.org, "David S. Miller" , openrisc@lists.librecores.org List-ID: CgpMZSAyMS8wMS8yMDE5IMOgIDA5OjA0LCBNaWtlIFJhcG9wb3J0IGEgw6ljcml0wqA6Cj4gQWRk IGNoZWNrIGZvciB0aGUgcmV0dXJuIHZhbHVlIG9mIG1lbWJsb2NrX2FsbG9jKigpIGZ1bmN0aW9u cyBhbmQgY2FsbAo+IHBhbmljKCkgaW4gY2FzZSBvZiBlcnJvci4KPiBUaGUgcGFuaWMgbWVzc2Fn ZSByZXBlYXRzIHRoZSBvbmUgdXNlZCBieSBwYW5pY2luZyBtZW1ibG9jayBhbGxvY2F0b3JzIHdp dGgKPiBhZGp1c3RtZW50IG9mIHBhcmFtZXRlcnMgdG8gaW5jbHVkZSBvbmx5IHJlbGV2YW50IG9u ZXMuCj4gCj4gVGhlIHJlcGxhY2VtZW50IHdhcyBtb3N0bHkgYXV0b21hdGVkIHdpdGggc2VtYW50 aWMgcGF0Y2hlcyBsaWtlIHRoZSBvbmUKPiBiZWxvdyB3aXRoIG1hbnVhbCBtYXNzYWdpbmcgb2Yg Zm9ybWF0IHN0cmluZ3MuCj4gCj4gQEAKPiBleHByZXNzaW9uIHB0ciwgc2l6ZSwgYWxpZ247Cj4g QEAKPiBwdHIgPSBtZW1ibG9ja19hbGxvYyhzaXplLCBhbGlnbik7Cj4gKyBpZiAoIXB0cikKPiAr IAlwYW5pYygiJXM6IEZhaWxlZCB0byBhbGxvY2F0ZSAlbHUgYnl0ZXMgYWxpZ249MHglbHhcbiIs IF9fZnVuY19fLAo+IHNpemUsIGFsaWduKTsKPiAKPiBTaWduZWQtb2ZmLWJ5OiBNaWtlIFJhcG9w b3J0IDxycHB0QGxpbnV4LmlibS5jb20+Cj4gUmV2aWV3ZWQtYnk6IEd1byBSZW4gPHJlbl9ndW9A Yy1za3kuY29tPiAgICAgICAgICAgICAjIGMtc2t5Cj4gQWNrZWQtYnk6IFBhdWwgQnVydG9uIDxw YXVsLmJ1cnRvbkBtaXBzLmNvbT4JICAgICAjIE1JUFMKPiBBY2tlZC1ieTogSGVpa28gQ2Fyc3Rl bnMgPGhlaWtvLmNhcnN0ZW5zQGRlLmlibS5jb20+ICMgczM5MAo+IFJldmlld2VkLWJ5OiBKdWVy Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+ICAgICAgICAgIyBYZW4KPiAtLS0KClsuLi5dCgo+ IGRpZmYgLS1naXQgYS9tbS9zcGFyc2UuYyBiL21tL3NwYXJzZS5jCj4gaW5kZXggN2VhNWRjNi4u YWQ5NDI0MiAxMDA2NDQKPiAtLS0gYS9tbS9zcGFyc2UuYwo+ICsrKyBiL21tL3NwYXJzZS5jCgpb Li4uXQoKPiBAQCAtNDI1LDYgKzQzNiwxMCBAQCBzdGF0aWMgdm9pZCBfX2luaXQgc3BhcnNlX2J1 ZmZlcl9pbml0KHVuc2lnbmVkIGxvbmcgc2l6ZSwgaW50IG5pZCkKPiAgIAkJbWVtYmxvY2tfYWxs b2NfdHJ5X25pZF9yYXcoc2l6ZSwgUEFHRV9TSVpFLAo+ICAgCQkJCQkJX19wYShNQVhfRE1BX0FE RFJFU1MpLAo+ICAgCQkJCQkJTUVNQkxPQ0tfQUxMT0NfQUNDRVNTSUJMRSwgbmlkKTsKPiArCWlm ICghc3BhcnNlbWFwX2J1ZikKPiArCQlwYW5pYygiJXM6IEZhaWxlZCB0byBhbGxvY2F0ZSAlbHUg Ynl0ZXMgYWxpZ249MHglbHggbmlkPSVkIGZyb209JWx4XG4iLAo+ICsJCSAgICAgIF9fZnVuY19f LCBzaXplLCBQQUdFX1NJWkUsIG5pZCwgX19wYShNQVhfRE1BX0FERFJFU1MpKTsKPiArCgptZW1i bG9ja19hbGxvY190cnlfbmlkX3JhdygpIGRvZXMgbm90IHBhbmljIChoZWxwIGV4cGxpY2l0bHkg c2F5czogRG9lcyAKbm90IHplcm8gYWxsb2NhdGVkIG1lbW9yeSwgZG9lcyBub3QgcGFuaWMgaWYg cmVxdWVzdCBjYW5ub3QgYmUgc2F0aXNmaWVkLikuCgpTdGVwaGVuIFJvdGh3ZWxsIHJlcG9ydHMg YSBib290IGZhaWx1cmUgZHVlIHRvIHRoaXMgY2hhbmdlLgoKQ2hyaXN0b3BoZQoKPiAgIAlzcGFy c2VtYXBfYnVmX2VuZCA9IHNwYXJzZW1hcF9idWYgKyBzaXplOwo+ICAgfQo+ICAgCj4gCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2Vy bmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0 cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVs Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christophe Leroy Subject: Re: [PATCH v2 19/21] treewide: add checks for the return value of memblock_alloc*() Date: Thu, 31 Jan 2019 07:07:46 +0100 Message-ID: References: <1548057848-15136-1-git-send-email-rppt@linux.ibm.com> <1548057848-15136-20-git-send-email-rppt@linux.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: <1548057848-15136-20-git-send-email-rppt@linux.ibm.com> Content-Language: fr Sender: linux-kernel-owner@vger.kernel.org To: Mike Rapoport , 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, Geert Uytterhoeven , Mark Salter , Dennis Zhou , Matt Turner , linux-snps-arc@lists.infradead.org, uclinux List-Id: devicetree@vger.kernel.org Le 21/01/2019 à 09:04, Mike Rapoport a écrit : > Add check for the return value of memblock_alloc*() functions and call > panic() in case of error. > The panic message repeats the one used by panicing memblock allocators with > adjustment of parameters to include only relevant ones. > > The replacement was mostly automated with semantic patches like the one > below with manual massaging of format strings. > > @@ > expression ptr, size, align; > @@ > ptr = memblock_alloc(size, align); > + if (!ptr) > + panic("%s: Failed to allocate %lu bytes align=0x%lx\n", __func__, > size, align); > > Signed-off-by: Mike Rapoport > Reviewed-by: Guo Ren # c-sky > Acked-by: Paul Burton # MIPS > Acked-by: Heiko Carstens # s390 > Reviewed-by: Juergen Gross # Xen > --- [...] > diff --git a/mm/sparse.c b/mm/sparse.c > index 7ea5dc6..ad94242 100644 > --- a/mm/sparse.c > +++ b/mm/sparse.c [...] > @@ -425,6 +436,10 @@ static void __init sparse_buffer_init(unsigned long size, int nid) > memblock_alloc_try_nid_raw(size, PAGE_SIZE, > __pa(MAX_DMA_ADDRESS), > MEMBLOCK_ALLOC_ACCESSIBLE, nid); > + if (!sparsemap_buf) > + panic("%s: Failed to allocate %lu bytes align=0x%lx nid=%d from=%lx\n", > + __func__, size, PAGE_SIZE, nid, __pa(MAX_DMA_ADDRESS)); > + memblock_alloc_try_nid_raw() does not panic (help explicitly says: Does not zero allocated memory, does not panic if request cannot be satisfied.). Stephen Rothwell reports a boot failure due to this change. Christophe > sparsemap_buf_end = sparsemap_buf + size; > } > > From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [v2,19/21] treewide: add checks for the return value of memblock_alloc*() From: Christophe Leroy Message-Id: Date: Thu, 31 Jan 2019 07:07:46 +0100 To: Mike Rapoport , 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, 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-xtensa.org, linux-alpha@vger.kernel.org, linux-um@lists.infradead.org, linux-m68k@lists.linux-m68k.org, Rob Herring , Greentime Hu , xen-devel@lists.xenproject.org, Stafford Horne , Guan Xuetao , linux-arm-kernel@lists.infradead.org, Michal Simek , Tony Luck , Greg Kroah-Hartman , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Paul Burton , Vineet Gupta , Andrew Morton , linuxppc-dev@lists.ozlabs.org, "David S. Miller" , openrisc@lists.librecores.org, Stephen Rothwell List-ID: TGUgMjEvMDEvMjAxOSDDoCAwOTowNCwgTWlrZSBSYXBvcG9ydCBhIMOpY3JpdMKgOgo+IEFkZCBj aGVjayBmb3IgdGhlIHJldHVybiB2YWx1ZSBvZiBtZW1ibG9ja19hbGxvYyooKSBmdW5jdGlvbnMg YW5kIGNhbGwKPiBwYW5pYygpIGluIGNhc2Ugb2YgZXJyb3IuCj4gVGhlIHBhbmljIG1lc3NhZ2Ug cmVwZWF0cyB0aGUgb25lIHVzZWQgYnkgcGFuaWNpbmcgbWVtYmxvY2sgYWxsb2NhdG9ycyB3aXRo Cj4gYWRqdXN0bWVudCBvZiBwYXJhbWV0ZXJzIHRvIGluY2x1ZGUgb25seSByZWxldmFudCBvbmVz Lgo+IAo+IFRoZSByZXBsYWNlbWVudCB3YXMgbW9zdGx5IGF1dG9tYXRlZCB3aXRoIHNlbWFudGlj IHBhdGNoZXMgbGlrZSB0aGUgb25lCj4gYmVsb3cgd2l0aCBtYW51YWwgbWFzc2FnaW5nIG9mIGZv cm1hdCBzdHJpbmdzLgo+IAo+IEBACj4gZXhwcmVzc2lvbiBwdHIsIHNpemUsIGFsaWduOwo+IEBA Cj4gcHRyID0gbWVtYmxvY2tfYWxsb2Moc2l6ZSwgYWxpZ24pOwo+ICsgaWYgKCFwdHIpCj4gKyAJ cGFuaWMoIiVzOiBGYWlsZWQgdG8gYWxsb2NhdGUgJWx1IGJ5dGVzIGFsaWduPTB4JWx4XG4iLCBf X2Z1bmNfXywKPiBzaXplLCBhbGlnbik7Cj4gCj4gU2lnbmVkLW9mZi1ieTogTWlrZSBSYXBvcG9y dCA8cnBwdEBsaW51eC5pYm0uY29tPgo+IFJldmlld2VkLWJ5OiBHdW8gUmVuIDxyZW5fZ3VvQGMt c2t5LmNvbT4gICAgICAgICAgICAgIyBjLXNreQo+IEFja2VkLWJ5OiBQYXVsIEJ1cnRvbiA8cGF1 bC5idXJ0b25AbWlwcy5jb20+CSAgICAgIyBNSVBTCj4gQWNrZWQtYnk6IEhlaWtvIENhcnN0ZW5z IDxoZWlrby5jYXJzdGVuc0BkZS5pYm0uY29tPiAjIHMzOTAKPiBSZXZpZXdlZC1ieTogSnVlcmdl biBHcm9zcyA8amdyb3NzQHN1c2UuY29tPiAgICAgICAgICMgWGVuCj4gLS0tCgpbLi4uXQoKPiBk aWZmIC0tZ2l0IGEvbW0vc3BhcnNlLmMgYi9tbS9zcGFyc2UuYwo+IGluZGV4IDdlYTVkYzYuLmFk OTQyNDIgMTAwNjQ0Cj4gLS0tIGEvbW0vc3BhcnNlLmMKPiArKysgYi9tbS9zcGFyc2UuYwoKWy4u Ll0KCj4gQEAgLTQyNSw2ICs0MzYsMTAgQEAgc3RhdGljIHZvaWQgX19pbml0IHNwYXJzZV9idWZm ZXJfaW5pdCh1bnNpZ25lZCBsb25nIHNpemUsIGludCBuaWQpCj4gICAJCW1lbWJsb2NrX2FsbG9j X3RyeV9uaWRfcmF3KHNpemUsIFBBR0VfU0laRSwKPiAgIAkJCQkJCV9fcGEoTUFYX0RNQV9BRERS RVNTKSwKPiAgIAkJCQkJCU1FTUJMT0NLX0FMTE9DX0FDQ0VTU0lCTEUsIG5pZCk7Cj4gKwlpZiAo IXNwYXJzZW1hcF9idWYpCj4gKwkJcGFuaWMoIiVzOiBGYWlsZWQgdG8gYWxsb2NhdGUgJWx1IGJ5 dGVzIGFsaWduPTB4JWx4IG5pZD0lZCBmcm9tPSVseFxuIiwKPiArCQkgICAgICBfX2Z1bmNfXywg c2l6ZSwgUEFHRV9TSVpFLCBuaWQsIF9fcGEoTUFYX0RNQV9BRERSRVNTKSk7Cj4gKwoKbWVtYmxv Y2tfYWxsb2NfdHJ5X25pZF9yYXcoKSBkb2VzIG5vdCBwYW5pYyAoaGVscCBleHBsaWNpdGx5IHNh eXM6IERvZXMgCm5vdCB6ZXJvIGFsbG9jYXRlZCBtZW1vcnksIGRvZXMgbm90IHBhbmljIGlmIHJl cXVlc3QgY2Fubm90IGJlIHNhdGlzZmllZC4pLgoKU3RlcGhlbiBSb3Rod2VsbCByZXBvcnRzIGEg Ym9vdCBmYWlsdXJlIGR1ZSB0byB0aGlzIGNoYW5nZS4KCkNocmlzdG9waGUKCj4gICAJc3BhcnNl bWFwX2J1Zl9lbmQgPSBzcGFyc2VtYXBfYnVmICsgc2l6ZTsKPiAgIH0KPiAgIAo+Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4A2F9C169C4 for ; Thu, 31 Jan 2019 06:09:33 +0000 (UTC) Received: from lists.ozlabs.org (lists.ozlabs.org [203.11.71.2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C22F720881 for ; Thu, 31 Jan 2019 06:09:32 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=c-s.fr header.i=@c-s.fr header.b="PPRKteYu" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C22F720881 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=c-s.fr Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 43qqZL65nvzDqX1 for ; Thu, 31 Jan 2019 17:09:30 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=c-s.fr (client-ip=93.17.236.30; helo=pegase1.c-s.fr; envelope-from=christophe.leroy@c-s.fr; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=c-s.fr Authentication-Results: lists.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=c-s.fr header.i=@c-s.fr header.b="PPRKteYu"; dkim-atps=neutral Received: from pegase1.c-s.fr (pegase1.c-s.fr [93.17.236.30]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 43qqXV6ZqHzDqXs for ; Thu, 31 Jan 2019 17:07:54 +1100 (AEDT) Received: from localhost (mailhub1-int [192.168.12.234]) by localhost (Postfix) with ESMTP id 43qqXN2zD6z9v0y2; Thu, 31 Jan 2019 07:07:48 +0100 (CET) Authentication-Results: localhost; dkim=pass reason="1024-bit key; insecure key" header.d=c-s.fr header.i=@c-s.fr header.b=PPRKteYu; dkim-adsp=pass; dkim-atps=neutral X-Virus-Scanned: Debian amavisd-new at c-s.fr Received: from pegase1.c-s.fr ([192.168.12.234]) by localhost (pegase1.c-s.fr [192.168.12.234]) (amavisd-new, port 10024) with ESMTP id 8eQljt9yKxMk; Thu, 31 Jan 2019 07:07:48 +0100 (CET) Received: from messagerie.si.c-s.fr (messagerie.si.c-s.fr [192.168.25.192]) by pegase1.c-s.fr (Postfix) with ESMTP id 43qqXN19Kmz9v0y0; Thu, 31 Jan 2019 07:07:48 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=c-s.fr; s=mail; t=1548914868; bh=NCah7PD0r/noHO/Uh52qxtNlyFWpGoyRnjJU9LYwodw=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=PPRKteYuUZeYij8URy8Yi6SlDuWnapGXe+mGP4EjcgzMqqNP8EZdSP5FNVjPYInsT 1SLAJFU3/5dHTmUUvReCIz9Epq15HGwbyMCJ7xsQ51aFHaQlJbFmKmOks3EsEBfY8B rAbHZg9+ub3vVM8gaD3FsZGuNpYhHL+xUNVYs/Xg= Received: from localhost (localhost [127.0.0.1]) by messagerie.si.c-s.fr (Postfix) with ESMTP id E31D88B78D; Thu, 31 Jan 2019 07:07:48 +0100 (CET) X-Virus-Scanned: amavisd-new at c-s.fr Received: from messagerie.si.c-s.fr ([127.0.0.1]) by localhost (messagerie.si.c-s.fr [127.0.0.1]) (amavisd-new, port 10023) with ESMTP id UCr4ES66h6TH; Thu, 31 Jan 2019 07:07:48 +0100 (CET) Received: from PO15451 (unknown [192.168.4.90]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 8FD748B74C; Thu, 31 Jan 2019 07:07:46 +0100 (CET) Subject: Re: [PATCH v2 19/21] treewide: add checks for the return value of memblock_alloc*() To: Mike Rapoport , linux-mm@kvack.org References: <1548057848-15136-1-git-send-email-rppt@linux.ibm.com> <1548057848-15136-20-git-send-email-rppt@linux.ibm.com> From: Christophe Leroy Message-ID: Date: Thu, 31 Jan 2019 07:07:46 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 MIME-Version: 1.0 In-Reply-To: <1548057848-15136-20-git-send-email-rppt@linux.ibm.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: fr Content-Transfer-Encoding: 8bit X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Rich Felker , linux-ia64@vger.kernel.org, Petr Mladek , linux-sh@vger.kernel.org, Catalin Marinas , Heiko Carstens , linux-kernel@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 , x86@kernel.org, Russell King , kasan-dev@googlegroups.com, Geert Uytterhoeven , Mark Salter , Dennis Zhou , Matt Turner , linux-snps-arc@lists.infradead.org, uclinux-h8-devel@lists.sourceforge.jp, devicetree@vger.kernel.org, Stephen Rothwell , linux-xtensa@linux-xtensa.org, linux-um@lists.infradead.org, linux-m68k@lists.linux-m68k.org, Rob Herring , Greentime Hu , xen-devel@lists.xenproject.org, Stafford Horne , Guan Xuetao , linux-arm-kernel@lists.infradead.org, Michal Simek , Tony Luck , Greg Kroah-Hartman , linux-usb@vger.kernel.org, linux-mips@vger.kernel.org, Paul Burton , Vineet Gupta , linux-alpha@vger.kernel.org, Andrew Morton , linuxppc-dev@lists.ozlabs.org, "David S. Miller" , openrisc@lists.librecores.org Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" Le 21/01/2019 à 09:04, Mike Rapoport a écrit : > Add check for the return value of memblock_alloc*() functions and call > panic() in case of error. > The panic message repeats the one used by panicing memblock allocators with > adjustment of parameters to include only relevant ones. > > The replacement was mostly automated with semantic patches like the one > below with manual massaging of format strings. > > @@ > expression ptr, size, align; > @@ > ptr = memblock_alloc(size, align); > + if (!ptr) > + panic("%s: Failed to allocate %lu bytes align=0x%lx\n", __func__, > size, align); > > Signed-off-by: Mike Rapoport > Reviewed-by: Guo Ren # c-sky > Acked-by: Paul Burton # MIPS > Acked-by: Heiko Carstens # s390 > Reviewed-by: Juergen Gross # Xen > --- [...] > diff --git a/mm/sparse.c b/mm/sparse.c > index 7ea5dc6..ad94242 100644 > --- a/mm/sparse.c > +++ b/mm/sparse.c [...] > @@ -425,6 +436,10 @@ static void __init sparse_buffer_init(unsigned long size, int nid) > memblock_alloc_try_nid_raw(size, PAGE_SIZE, > __pa(MAX_DMA_ADDRESS), > MEMBLOCK_ALLOC_ACCESSIBLE, nid); > + if (!sparsemap_buf) > + panic("%s: Failed to allocate %lu bytes align=0x%lx nid=%d from=%lx\n", > + __func__, size, PAGE_SIZE, nid, __pa(MAX_DMA_ADDRESS)); > + memblock_alloc_try_nid_raw() does not panic (help explicitly says: Does not zero allocated memory, does not panic if request cannot be satisfied.). Stephen Rothwell reports a boot failure due to this change. Christophe > sparsemap_buf_end = sparsemap_buf + size; > } > > From mboxrd@z Thu Jan 1 00:00:00 1970 From: christophe.leroy@c-s.fr (Christophe Leroy) Date: Thu, 31 Jan 2019 07:07:46 +0100 Subject: [PATCH v2 19/21] treewide: add checks for the return value of memblock_alloc*() In-Reply-To: <1548057848-15136-20-git-send-email-rppt@linux.ibm.com> References: <1548057848-15136-1-git-send-email-rppt@linux.ibm.com> <1548057848-15136-20-git-send-email-rppt@linux.ibm.com> List-ID: Message-ID: To: linux-snps-arc@lists.infradead.org Le 21/01/2019 ? 09:04, Mike Rapoport a ?crit?: > Add check for the return value of memblock_alloc*() functions and call > panic() in case of error. > The panic message repeats the one used by panicing memblock allocators with > adjustment of parameters to include only relevant ones. > > The replacement was mostly automated with semantic patches like the one > below with manual massaging of format strings. > > @@ > expression ptr, size, align; > @@ > ptr = memblock_alloc(size, align); > + if (!ptr) > + panic("%s: Failed to allocate %lu bytes align=0x%lx\n", __func__, > size, align); > > Signed-off-by: Mike Rapoport > Reviewed-by: Guo Ren # c-sky > Acked-by: Paul Burton # MIPS > Acked-by: Heiko Carstens # s390 > Reviewed-by: Juergen Gross # Xen > --- [...] > diff --git a/mm/sparse.c b/mm/sparse.c > index 7ea5dc6..ad94242 100644 > --- a/mm/sparse.c > +++ b/mm/sparse.c [...] > @@ -425,6 +436,10 @@ static void __init sparse_buffer_init(unsigned long size, int nid) > memblock_alloc_try_nid_raw(size, PAGE_SIZE, > __pa(MAX_DMA_ADDRESS), > MEMBLOCK_ALLOC_ACCESSIBLE, nid); > + if (!sparsemap_buf) > + panic("%s: Failed to allocate %lu bytes align=0x%lx nid=%d from=%lx\n", > + __func__, size, PAGE_SIZE, nid, __pa(MAX_DMA_ADDRESS)); > + memblock_alloc_try_nid_raw() does not panic (help explicitly says: Does not zero allocated memory, does not panic if request cannot be satisfied.). Stephen Rothwell reports a boot failure due to this change. Christophe > sparsemap_buf_end = sparsemap_buf + size; > } > > From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christophe Leroy Date: Thu, 31 Jan 2019 07:07:46 +0100 Subject: [OpenRISC] [PATCH v2 19/21] treewide: add checks for the return value of memblock_alloc*() In-Reply-To: <1548057848-15136-20-git-send-email-rppt@linux.ibm.com> References: <1548057848-15136-1-git-send-email-rppt@linux.ibm.com> <1548057848-15136-20-git-send-email-rppt@linux.ibm.com> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit To: openrisc@lists.librecores.org Le 21/01/2019 à 09:04, Mike Rapoport a écrit : > Add check for the return value of memblock_alloc*() functions and call > panic() in case of error. > The panic message repeats the one used by panicing memblock allocators with > adjustment of parameters to include only relevant ones. > > The replacement was mostly automated with semantic patches like the one > below with manual massaging of format strings. > > @@ > expression ptr, size, align; > @@ > ptr = memblock_alloc(size, align); > + if (!ptr) > + panic("%s: Failed to allocate %lu bytes align=0x%lx\n", __func__, > size, align); > > Signed-off-by: Mike Rapoport > Reviewed-by: Guo Ren # c-sky > Acked-by: Paul Burton # MIPS > Acked-by: Heiko Carstens # s390 > Reviewed-by: Juergen Gross # Xen > --- [...] > diff --git a/mm/sparse.c b/mm/sparse.c > index 7ea5dc6..ad94242 100644 > --- a/mm/sparse.c > +++ b/mm/sparse.c [...] > @@ -425,6 +436,10 @@ static void __init sparse_buffer_init(unsigned long size, int nid) > memblock_alloc_try_nid_raw(size, PAGE_SIZE, > __pa(MAX_DMA_ADDRESS), > MEMBLOCK_ALLOC_ACCESSIBLE, nid); > + if (!sparsemap_buf) > + panic("%s: Failed to allocate %lu bytes align=0x%lx nid=%d from=%lx\n", > + __func__, size, PAGE_SIZE, nid, __pa(MAX_DMA_ADDRESS)); > + memblock_alloc_try_nid_raw() does not panic (help explicitly says: Does not zero allocated memory, does not panic if request cannot be satisfied.). Stephen Rothwell reports a boot failure due to this change. Christophe > sparsemap_buf_end = sparsemap_buf + size; > } > >