From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753377AbaGIO31 (ORCPT ); Wed, 9 Jul 2014 10:29:27 -0400 Received: from qmta02.emeryville.ca.mail.comcast.net ([76.96.30.24]:49627 "EHLO qmta02.emeryville.ca.mail.comcast.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750889AbaGIO30 (ORCPT ); Wed, 9 Jul 2014 10:29:26 -0400 Date: Wed, 9 Jul 2014 09:29:22 -0500 (CDT) From: Christoph Lameter To: Andrey Ryabinin cc: linux-kernel@vger.kernel.org, Dmitry Vyukov , Konstantin Serebryany , Alexey Preobrazhensky , Andrey Konovalov , Yuri Gribov , Konstantin Khlebnikov , Sasha Levin , Michal Marek , Russell King , Thomas Gleixner , Ingo Molnar , Pekka Enberg , David Rientjes , Joonsoo Kim , Andrew Morton , linux-kbuild@vger.kernel.org, linux-arm-kernel@lists.infradead.org, x86@kernel.org, linux-mm@kvack.org Subject: Re: [RFC/PATCH RESEND -next 11/21] mm: slub: share slab_err and object_err functions In-Reply-To: <1404905415-9046-12-git-send-email-a.ryabinin@samsung.com> Message-ID: References: <1404905415-9046-1-git-send-email-a.ryabinin@samsung.com> <1404905415-9046-12-git-send-email-a.ryabinin@samsung.com> Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 9 Jul 2014, Andrey Ryabinin wrote: > Remove static and add function declarations to mm/slab.h so they > could be used by kernel address sanitizer. Hmmm... This is allocator specific. At some future point it would be good to move error reporting to slab_common.c and use those from all allocators. > Signed-off-by: Andrey Ryabinin > --- > mm/slab.h | 5 +++++ > mm/slub.c | 4 ++-- > 2 files changed, 7 insertions(+), 2 deletions(-) > > diff --git a/mm/slab.h b/mm/slab.h > index 1257ade..912af7f 100644 > --- a/mm/slab.h > +++ b/mm/slab.h > @@ -339,5 +339,10 @@ static inline struct kmem_cache_node *get_node(struct kmem_cache *s, int node) > > void *slab_next(struct seq_file *m, void *p, loff_t *pos); > void slab_stop(struct seq_file *m, void *p); > +void slab_err(struct kmem_cache *s, struct page *page, > + const char *fmt, ...); > +void object_err(struct kmem_cache *s, struct page *page, > + u8 *object, char *reason); > + > > #endif /* MM_SLAB_H */ > diff --git a/mm/slub.c b/mm/slub.c > index 6641a8f..3bdd9ac 100644 > --- a/mm/slub.c > +++ b/mm/slub.c > @@ -635,14 +635,14 @@ static void print_trailer(struct kmem_cache *s, struct page *page, u8 *p) > dump_stack(); > } > > -static void object_err(struct kmem_cache *s, struct page *page, > +void object_err(struct kmem_cache *s, struct page *page, > u8 *object, char *reason) > { > slab_bug(s, "%s", reason); > print_trailer(s, page, object); > } > > -static void slab_err(struct kmem_cache *s, struct page *page, > +void slab_err(struct kmem_cache *s, struct page *page, > const char *fmt, ...) > { > va_list args; > From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qc0-f176.google.com (mail-qc0-f176.google.com [209.85.216.176]) by kanga.kvack.org (Postfix) with ESMTP id 35C636B0031 for ; Wed, 9 Jul 2014 10:29:27 -0400 (EDT) Received: by mail-qc0-f176.google.com with SMTP id w7so6897547qcr.35 for ; Wed, 09 Jul 2014 07:29:26 -0700 (PDT) Received: from qmta15.emeryville.ca.mail.comcast.net (qmta15.emeryville.ca.mail.comcast.net. [2001:558:fe2d:44:76:96:27:228]) by mx.google.com with ESMTP id i53si47836959qge.31.2014.07.09.07.29.25 for ; Wed, 09 Jul 2014 07:29:26 -0700 (PDT) Date: Wed, 9 Jul 2014 09:29:22 -0500 (CDT) From: Christoph Lameter Subject: Re: [RFC/PATCH RESEND -next 11/21] mm: slub: share slab_err and object_err functions In-Reply-To: <1404905415-9046-12-git-send-email-a.ryabinin@samsung.com> Message-ID: References: <1404905415-9046-1-git-send-email-a.ryabinin@samsung.com> <1404905415-9046-12-git-send-email-a.ryabinin@samsung.com> Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-linux-mm@kvack.org List-ID: To: Andrey Ryabinin Cc: linux-kernel@vger.kernel.org, Dmitry Vyukov , Konstantin Serebryany , Alexey Preobrazhensky , Andrey Konovalov , Yuri Gribov , Konstantin Khlebnikov , Sasha Levin , Michal Marek , Russell King , Thomas Gleixner , Ingo Molnar , Pekka Enberg , David Rientjes , Joonsoo Kim , Andrew Morton , linux-kbuild@vger.kernel.org, linux-arm-kernel@lists.infradead.org, x86@kernel.org, linux-mm@kvack.org On Wed, 9 Jul 2014, Andrey Ryabinin wrote: > Remove static and add function declarations to mm/slab.h so they > could be used by kernel address sanitizer. Hmmm... This is allocator specific. At some future point it would be good to move error reporting to slab_common.c and use those from all allocators. > Signed-off-by: Andrey Ryabinin > --- > mm/slab.h | 5 +++++ > mm/slub.c | 4 ++-- > 2 files changed, 7 insertions(+), 2 deletions(-) > > diff --git a/mm/slab.h b/mm/slab.h > index 1257ade..912af7f 100644 > --- a/mm/slab.h > +++ b/mm/slab.h > @@ -339,5 +339,10 @@ static inline struct kmem_cache_node *get_node(struct kmem_cache *s, int node) > > void *slab_next(struct seq_file *m, void *p, loff_t *pos); > void slab_stop(struct seq_file *m, void *p); > +void slab_err(struct kmem_cache *s, struct page *page, > + const char *fmt, ...); > +void object_err(struct kmem_cache *s, struct page *page, > + u8 *object, char *reason); > + > > #endif /* MM_SLAB_H */ > diff --git a/mm/slub.c b/mm/slub.c > index 6641a8f..3bdd9ac 100644 > --- a/mm/slub.c > +++ b/mm/slub.c > @@ -635,14 +635,14 @@ static void print_trailer(struct kmem_cache *s, struct page *page, u8 *p) > dump_stack(); > } > > -static void object_err(struct kmem_cache *s, struct page *page, > +void object_err(struct kmem_cache *s, struct page *page, > u8 *object, char *reason) > { > slab_bug(s, "%s", reason); > print_trailer(s, page, object); > } > > -static void slab_err(struct kmem_cache *s, struct page *page, > +void slab_err(struct kmem_cache *s, struct page *page, > const char *fmt, ...) > { > va_list args; > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 From: cl@gentwo.org (Christoph Lameter) Date: Wed, 9 Jul 2014 09:29:22 -0500 (CDT) Subject: [RFC/PATCH RESEND -next 11/21] mm: slub: share slab_err and object_err functions In-Reply-To: <1404905415-9046-12-git-send-email-a.ryabinin@samsung.com> References: <1404905415-9046-1-git-send-email-a.ryabinin@samsung.com> <1404905415-9046-12-git-send-email-a.ryabinin@samsung.com> Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Wed, 9 Jul 2014, Andrey Ryabinin wrote: > Remove static and add function declarations to mm/slab.h so they > could be used by kernel address sanitizer. Hmmm... This is allocator specific. At some future point it would be good to move error reporting to slab_common.c and use those from all allocators. > Signed-off-by: Andrey Ryabinin > --- > mm/slab.h | 5 +++++ > mm/slub.c | 4 ++-- > 2 files changed, 7 insertions(+), 2 deletions(-) > > diff --git a/mm/slab.h b/mm/slab.h > index 1257ade..912af7f 100644 > --- a/mm/slab.h > +++ b/mm/slab.h > @@ -339,5 +339,10 @@ static inline struct kmem_cache_node *get_node(struct kmem_cache *s, int node) > > void *slab_next(struct seq_file *m, void *p, loff_t *pos); > void slab_stop(struct seq_file *m, void *p); > +void slab_err(struct kmem_cache *s, struct page *page, > + const char *fmt, ...); > +void object_err(struct kmem_cache *s, struct page *page, > + u8 *object, char *reason); > + > > #endif /* MM_SLAB_H */ > diff --git a/mm/slub.c b/mm/slub.c > index 6641a8f..3bdd9ac 100644 > --- a/mm/slub.c > +++ b/mm/slub.c > @@ -635,14 +635,14 @@ static void print_trailer(struct kmem_cache *s, struct page *page, u8 *p) > dump_stack(); > } > > -static void object_err(struct kmem_cache *s, struct page *page, > +void object_err(struct kmem_cache *s, struct page *page, > u8 *object, char *reason) > { > slab_bug(s, "%s", reason); > print_trailer(s, page, object); > } > > -static void slab_err(struct kmem_cache *s, struct page *page, > +void slab_err(struct kmem_cache *s, struct page *page, > const char *fmt, ...) > { > va_list args; >