Skip to content

Commit

Permalink
mm: kmemleak: mark kmemleak_init prototype as __init
Browse files Browse the repository at this point in the history
The kmemleak_init() definition in mm/kmemleak.c is marked __init but its
prototype in include/linux/kmemleak.h is marked __ref since commit
a6186d8 ("kmemleak: Mark the early log buffer as __initdata").

This causes a section mismatch which is reported as a warning when
building with clang -Wsection, because kmemleak_init() is declared in
section .ref.text but defined in .init.text.

Fix this by marking kmemleak_init() prototype __init.

Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@m4x.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
Nicolas Iooss authored and Linus Torvalds committed Dec 12, 2015
1 parent 25be6a6 commit 98e89cf
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion include/linux/kmemleak.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

#ifdef CONFIG_DEBUG_KMEMLEAK

extern void kmemleak_init(void) __ref;
extern void kmemleak_init(void) __init;
extern void kmemleak_alloc(const void *ptr, size_t size, int min_count,
gfp_t gfp) __ref;
extern void kmemleak_alloc_percpu(const void __percpu *ptr, size_t size,
Expand Down

0 comments on commit 98e89cf

Please sign in to comment.