All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Rapoport <rppt@linux.ibm.com>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Rich Felker <dalias@libc.org>,
	"linux-ia64@vger.kernel.org" <linux-ia64@vger.kernel.org>,
	"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
	<devicetree@vger.kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Heiko Carstens <heiko.carstens@de.ibm.com>,
	the arch/x86 maintainers <x86@kernel.org>,
	linux-mips@vger.kernel.org, Max Filippov <jcmvbkbc@gmail.com>,
	Guo Ren <guoren@kernel.org>,
	sparclinux <sparclinux@vger.kernel.org>,
	Christoph Hellwig <hch@lst.de>,
	linux-s390 <linux-s390@vger.kernel.org>,
	linux-c6x-dev@linux-c6x.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Richard Weinberger <richard@nod.at>,
	Linux-sh list <linux-sh@vger.kernel.org>,
	Russell King <linux@armlinux.org.uk>,
	kasan-dev@googlegroups.com, Mark Salter <msalter@redhat.com>,
	Dennis Zhou <dennis@kernel.org>, Matt Turner <mattst88@gmail.com>,
	arcml <linux-snps-arc@lists.infradead.org>
Subject: Re: [PATCH 19/21] treewide: add checks for the return value of memblock_alloc*()
Date: Wed, 16 Jan 2019 17:13:49 +0200	[thread overview]
Message-ID: <20190116151348.GD6643__12188.1391075023$1547651638$gmane$org@rapoport-lnx> (raw)
In-Reply-To: <CAMuHMdWKPj-2Let44rmaVwh-b6kkGg+0cFPQ-+3k9LP86pB7NA@mail.gmail.com>

On Wed, Jan 16, 2019 at 03:27:35PM +0100, Geert Uytterhoeven wrote:
> Hi Mike,
> 
> On Wed, Jan 16, 2019 at 2:46 PM Mike Rapoport <rppt@linux.ibm.com> wrote:
> > 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__,
> 
> In general, you want to use %zu for size_t
> 
> > size, align);
> >
> > Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
> 
> Thanks for your patch!
> 
> >  74 files changed, 415 insertions(+), 29 deletions(-)
> 
> I'm wondering if this is really an improvement?

From memblock perspective it's definitely an improvement :)

git diff --stat mmotm/master include/linux/memblock.h mm/memblock.c
 include/linux/memblock.h |  59 ++---------
 mm/memblock.c            | 249 ++++++++++++++++-------------------------------
 2 files changed, 90 insertions(+), 218 deletions(-)

> For the normal memory allocator, the trend is to remove printing of errors
> from all callers, as the core takes care of that.

It's more about allocation errors handling than printing of the errors.
Indeed, there is not much that can be done if an early allocation fails,
but I believe having an explicit pattern

	ptr = alloc();
	if (!ptr)
		do_something_about_it();

is clearer than relying on the allocator to panic().

Besides, the diversity of panic and nopanic variants creates a confusion
and I've caught several places that call nopanic variant and do not check
its return value.
 
> > --- a/arch/alpha/kernel/core_marvel.c
> > +++ b/arch/alpha/kernel/core_marvel.c
> > @@ -83,6 +83,9 @@ mk_resource_name(int pe, int port, char *str)
> >
> >         sprintf(tmp, "PCI %s PE %d PORT %d", str, pe, port);
> >         name = memblock_alloc(strlen(tmp) + 1, SMP_CACHE_BYTES);
> > +       if (!name)
> > +               panic("%s: Failed to allocate %lu bytes\n", __func__,
> 
> %zu, as strlen() returns size_t.

Thanks for spotting it, will fix.

> > +                     strlen(tmp) + 1);
> >         strcpy(name, tmp);
> >
> >         return name;
> > @@ -118,6 +121,9 @@ alloc_io7(unsigned int pe)
> >         }
> >
> >         io7 = memblock_alloc(sizeof(*io7), SMP_CACHE_BYTES);
> > +       if (!io7)
> > +               panic("%s: Failed to allocate %lu bytes\n", __func__,
> 
> %zu, as sizeof() returns size_t.
> Probably there are more. Yes, it's hard to get them right in all callers.

Yeah :)
 
> Gr{oetje,eeting}s,
> 
>                         Geert
> 
> -- 
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
> 
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
>                                 -- Linus Torvalds
> 

-- 
Sincerely yours,
Mike.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

  reply	other threads:[~2019-01-16 15:15 UTC|newest]

Thread overview: 308+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-16 13:44 [PATCH 00/21] Refine memblock API Mike Rapoport
2019-01-16 13:44 ` [OpenRISC] " Mike Rapoport
2019-01-16 13:44 ` Mike Rapoport
2019-01-16 13:44 ` Mike Rapoport
2019-01-16 13:44 ` Mike Rapoport
2019-01-16 13:44 ` Mike Rapoport
2019-01-16 13:44 ` Mike Rapoport
2019-01-16 13:44 ` [PATCH 01/21] openrisc: prefer memblock APIs returning virtual address Mike Rapoport
2019-01-16 13:44 ` Mike Rapoport
2019-01-16 13:44   ` [OpenRISC] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` [01/21] " Mike Rapoport
2019-01-16 13:44   ` [PATCH 01/21] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44 ` [PATCH 02/21] powerpc: use memblock functions " Mike Rapoport
2019-01-16 13:44   ` [OpenRISC] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` [02/21] " Mike Rapoport
2019-01-16 13:44   ` [PATCH 02/21] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44 ` [PATCH 03/21] memblock: replace memblock_alloc_base(ANYWHERE) with memblock_phys_alloc Mike Rapoport
2019-01-16 13:44 ` Mike Rapoport
2019-01-16 13:44   ` [OpenRISC] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` [03/21] " Mike Rapoport
2019-01-16 13:44   ` [PATCH 03/21] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44 ` [PATCH 04/21] memblock: drop memblock_alloc_base_nid() Mike Rapoport
2019-01-16 13:44   ` [OpenRISC] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` [04/21] " Mike Rapoport
2019-01-16 13:44   ` [PATCH 04/21] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44 ` Mike Rapoport
2019-01-16 13:44 ` [PATCH 05/21] memblock: emphasize that memblock_alloc_range() returns a physical address Mike Rapoport
2019-01-16 13:44 ` Mike Rapoport
2019-01-16 13:44   ` [OpenRISC] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` [05/21] " Mike Rapoport
2019-01-16 13:44   ` [PATCH 05/21] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44 ` [PATCH 06/21] memblock: memblock_phys_alloc_try_nid(): don't panic Mike Rapoport
2019-01-16 13:44 ` Mike Rapoport
2019-01-16 13:44   ` [OpenRISC] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` [06/21] " Mike Rapoport
2019-01-16 13:44   ` [PATCH 06/21] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44 ` [PATCH 07/21] memblock: memblock_phys_alloc(): " Mike Rapoport
2019-01-16 13:44   ` [OpenRISC] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` [07/21] " Mike Rapoport
2019-01-16 13:44   ` [PATCH 07/21] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44 ` Mike Rapoport
2019-01-16 13:44 ` [PATCH 08/21] memblock: drop __memblock_alloc_base() Mike Rapoport
2019-01-16 13:44   ` [OpenRISC] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` [08/21] " Mike Rapoport
2019-01-16 13:44   ` [PATCH 08/21] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 15:15   ` Rob Herring
2019-01-16 15:15   ` Rob Herring
2019-01-16 15:15     ` Rob Herring
2019-01-16 15:15     ` [OpenRISC] " Rob Herring
2019-01-16 15:15     ` Rob Herring
2019-01-16 15:15     ` Rob Herring
2019-01-16 15:15     ` Rob Herring
2019-01-16 15:15     ` Rob Herring
2019-01-16 15:15     ` Rob Herring
2019-01-16 13:44 ` Mike Rapoport
2019-01-16 13:44 ` [PATCH 09/21] memblock: drop memblock_alloc_base() Mike Rapoport
2019-01-16 13:44   ` [OpenRISC] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` [09/21] " Mike Rapoport
2019-01-16 13:44   ` [PATCH 09/21] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44 ` [PATCH 10/21] memblock: refactor internal allocation functions Mike Rapoport
2019-01-16 13:44   ` [OpenRISC] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` [10/21] " Mike Rapoport
2019-01-16 13:44   ` [PATCH 10/21] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44 ` Mike Rapoport
2019-01-16 13:44 ` [PATCH 11/21] memblock: make memblock_find_in_range_node() and choose_memblock_flags() static Mike Rapoport
2019-01-16 13:44   ` [OpenRISC] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` [11/21] " Mike Rapoport
2019-01-16 13:44   ` [PATCH 11/21] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44 ` [PATCH 12/21] arch: use memblock_alloc() instead of memblock_alloc_from(size, align, 0) Mike Rapoport
2019-01-16 13:44   ` [OpenRISC] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` [12/21] " Mike Rapoport
2019-01-16 13:44   ` [PATCH 12/21] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-18 17:53   ` Paul Burton
2019-01-18 17:53   ` Paul Burton
2019-01-18 17:53     ` [OpenRISC] " Paul Burton
2019-01-18 17:53     ` Paul Burton
2019-01-18 17:53     ` Paul Burton
2019-01-18 17:53     ` Paul Burton
2019-01-18 17:53     ` Paul Burton
2019-01-16 13:44 ` Mike Rapoport
2019-01-16 13:44 ` [PATCH 13/21] arch: don't memset(0) memory returned by memblock_alloc() Mike Rapoport
2019-01-16 13:44   ` [OpenRISC] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` [13/21] " Mike Rapoport
2019-01-16 13:44   ` [PATCH 13/21] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 14:17   ` Geert Uytterhoeven
2019-01-16 14:17   ` Geert Uytterhoeven
2019-01-16 14:17     ` Geert Uytterhoeven
2019-01-16 14:17     ` Geert Uytterhoeven
2019-01-16 14:17     ` [OpenRISC] " Geert Uytterhoeven
2019-01-16 14:17     ` Geert Uytterhoeven
2019-01-16 14:17     ` Geert Uytterhoeven
2019-01-16 14:17     ` Geert Uytterhoeven
2019-01-16 14:17     ` Geert Uytterhoeven
2019-01-16 14:17     ` Geert Uytterhoeven
2019-01-16 13:44 ` Mike Rapoport
2019-01-16 13:44 ` [PATCH 14/21] ia64: add checks for the return value of memblock_alloc*() Mike Rapoport
2019-01-16 13:44   ` [OpenRISC] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` [14/21] " Mike Rapoport
2019-01-16 13:44   ` [PATCH 14/21] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44 ` Mike Rapoport
2019-01-16 13:44 ` [PATCH 15/21] sparc: " Mike Rapoport
2019-01-16 13:44 ` Mike Rapoport
2019-01-16 13:44   ` [OpenRISC] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` [15/21] " Mike Rapoport
2019-01-16 13:44   ` [PATCH 15/21] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 17:21   ` David Miller
2019-01-16 17:21     ` [OpenRISC] " David Miller
2019-01-16 17:21     ` David Miller
2019-01-16 17:21     ` David Miller
2019-01-16 17:21     ` [15/21] " David Miller
2019-01-16 17:21     ` [PATCH 15/21] " David Miller
2019-01-16 17:21     ` David Miller
2019-01-16 17:21     ` David Miller
2019-01-16 17:21   ` David Miller
2019-01-16 13:44 ` [PATCH 16/21] mm/percpu: " Mike Rapoport
2019-01-16 13:44   ` [OpenRISC] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` [16/21] " Mike Rapoport
2019-01-16 13:44   ` [PATCH 16/21] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44 ` Mike Rapoport
2019-01-16 13:44 ` [PATCH 17/21] init/main: " Mike Rapoport
2019-01-16 13:44   ` [OpenRISC] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` [17/21] " Mike Rapoport
2019-01-16 13:44   ` [PATCH 17/21] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44 ` Mike Rapoport
2019-01-16 13:44 ` [PATCH 18/21] swiotlb: " Mike Rapoport
2019-01-16 13:44   ` [OpenRISC] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` [18/21] " Mike Rapoport
2019-01-16 13:44   ` [PATCH 18/21] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44 ` Mike Rapoport
2019-01-16 13:44 ` [PATCH 19/21] treewide: " Mike Rapoport
2019-01-16 13:44   ` [OpenRISC] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` [19/21] " Mike Rapoport
2019-01-16 13:44   ` [PATCH 19/21] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 14:27   ` Geert Uytterhoeven
2019-01-16 14:27     ` Geert Uytterhoeven
2019-01-16 14:27     ` Geert Uytterhoeven
2019-01-16 14:27     ` [OpenRISC] " Geert Uytterhoeven
2019-01-16 14:27     ` Geert Uytterhoeven
2019-01-16 14:27     ` Geert Uytterhoeven
2019-01-16 14:27     ` Geert Uytterhoeven
2019-01-16 14:27     ` Geert Uytterhoeven
2019-01-16 14:27     ` Geert Uytterhoeven
2019-01-16 15:13     ` Mike Rapoport [this message]
2019-01-16 15:13     ` Mike Rapoport
2019-01-16 15:13       ` Mike Rapoport
2019-01-16 15:13       ` [OpenRISC] " Mike Rapoport
2019-01-16 15:13       ` Mike Rapoport
2019-01-16 15:13       ` Mike Rapoport
2019-01-16 15:13       ` Mike Rapoport
2019-01-16 15:13       ` Mike Rapoport
2019-01-16 15:13       ` Mike Rapoport
2019-01-16 14:27   ` Geert Uytterhoeven
2019-01-16 14:32   ` [Xen-devel] " Juergen Gross
2019-01-16 14:32     ` [OpenRISC] " Juergen Gross
2019-01-16 14:32     ` Juergen Gross
2019-01-16 14:32     ` Juergen Gross
2019-01-16 14:32     ` [19/21] " Juergen Gross
2019-01-16 14:32     ` [Xen-devel] [PATCH 19/21] " Juergen Gross
2019-01-16 14:32     ` Juergen Gross
2019-01-16 14:32     ` Juergen Gross
2019-01-16 14:32   ` Juergen Gross
2019-01-16 15:18   ` Rob Herring
2019-01-16 15:18     ` Rob Herring
2019-01-16 15:18     ` [OpenRISC] " Rob Herring
2019-01-16 15:18     ` Rob Herring
2019-01-16 15:18     ` Rob Herring
2019-01-16 15:18     ` Rob Herring
2019-01-16 15:18     ` Rob Herring
2019-01-16 15:18     ` Rob Herring
2019-01-16 15:18   ` Rob Herring
2019-01-17  7:06   ` Guo Ren
2019-01-17  7:06     ` [OpenRISC] " Guo Ren
2019-01-17  7:06     ` Guo Ren
2019-01-17  7:06     ` Guo Ren
2019-01-17  7:06     ` [19/21] " Guo Ren
2019-01-17  7:06     ` [PATCH 19/21] " Guo Ren
2019-01-17  7:06     ` Guo Ren
2019-01-17  7:06     ` Guo Ren
2019-01-17  7:06   ` Guo Ren
2019-01-18  8:43   ` Heiko Carstens
2019-01-18  8:43   ` Heiko Carstens
2019-01-18  8:43     ` [OpenRISC] " Heiko Carstens
2019-01-18  8:43     ` Heiko Carstens
2019-01-18  8:43     ` Heiko Carstens
2019-01-18  8:43     ` [19/21] " Heiko Carstens
2019-01-18  8:43     ` [PATCH 19/21] " Heiko Carstens
2019-01-18  8:43     ` Heiko Carstens
2019-01-18  8:43     ` Heiko Carstens
2019-01-18 18:02   ` Paul Burton
2019-01-18 18:02   ` Paul Burton
2019-01-18 18:02     ` [OpenRISC] " Paul Burton
2019-01-18 18:02     ` Paul Burton
2019-01-18 18:02     ` Paul Burton
2019-01-18 18:02     ` Paul Burton
2019-01-18 18:02     ` Paul Burton
2019-01-16 13:44 ` Mike Rapoport
2019-01-16 13:44 ` [PATCH 20/21] memblock: memblock_alloc_try_nid: don't panic Mike Rapoport
2019-01-16 13:44   ` [OpenRISC] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` [20/21] " Mike Rapoport
2019-01-16 13:44   ` [PATCH 20/21] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44 ` Mike Rapoport
2019-01-16 13:44 ` [PATCH 21/21] memblock: drop memblock_alloc_*_nopanic() variants Mike Rapoport
2019-01-16 13:44   ` [OpenRISC] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` [21/21] " Mike Rapoport
2019-01-16 13:44   ` [PATCH 21/21] " Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-16 13:44   ` Mike Rapoport
2019-01-17  9:28   ` Petr Mladek
2019-01-17  9:28     ` [OpenRISC] " Petr Mladek
2019-01-17  9:28     ` Petr Mladek
2019-01-17  9:28     ` Petr Mladek
2019-01-17  9:28     ` [21/21] " Petr Mladek
2019-01-17  9:28     ` [PATCH 21/21] " Petr Mladek
2019-01-17  9:28     ` Petr Mladek
2019-01-17  9:28     ` Petr Mladek
2019-01-17  9:28   ` Petr Mladek
2019-01-18  8:42   ` Greg Kroah-Hartman
2019-01-18  8:42     ` Greg Kroah-Hartman
2019-01-18  8:42     ` [OpenRISC] " Greg Kroah-Hartman
2019-01-18  8:42     ` Greg Kroah-Hartman
2019-01-18  8:42     ` Greg Kroah-Hartman
2019-01-18  8:42     ` [21/21] " Greg Kroah-Hartman
2019-01-18  8:42     ` [PATCH 21/21] " Greg Kroah-Hartman
2019-01-18  8:42     ` Greg Kroah-Hartman
2019-01-18  8:42     ` Greg Kroah-Hartman
2019-01-18  8:42   ` Greg Kroah-Hartman
2019-01-16 13:44 ` Mike Rapoport

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='20190116151348.GD6643__12188.1391075023$1547651638$gmane$org@rapoport-lnx' \
    --to=rppt@linux.ibm.com \
    --cc=catalin.marinas@arm.com \
    --cc=dalias@libc.org \
    --cc=dennis@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=geert@linux-m68k.org \
    --cc=guoren@kernel.org \
    --cc=hch@lst.de \
    --cc=heiko.carstens@de.ibm.com \
    --cc=jcmvbkbc@gmail.com \
    --cc=kasan-dev@googlegroups.com \
    --cc=linux-c6x-dev@linux-c6x.org \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=linux-snps-arc@lists.infradead.org \
    --cc=linux@armlinux.org.uk \
    --cc=mattst88@gmail.com \
    --cc=msalter@redhat.com \
    --cc=richard@nod.at \
    --cc=sparclinux@vger.kernel.org \
    --cc=x86@kernel.org \
    --cc=ysato@users.sourceforge.jp \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.