Skip to content

Commit f9f74dc

Browse files
arndbtorvalds
authored andcommitted
mm/shuffle: fix section mismatch warning
clang sometimes decides not to inline shuffle_zone(), but it calls a __meminit function. Without the extra __meminit annotation we get this warning: WARNING: modpost: vmlinux.o(.text+0x2a86d4): Section mismatch in reference from the function shuffle_zone() to the function .meminit.text:__shuffle_zone() The function shuffle_zone() references the function __meminit __shuffle_zone(). This is often because shuffle_zone lacks a __meminit annotation or the annotation of __shuffle_zone is wrong. shuffle_free_memory() did not show the same problem in my tests, but it could happen in theory as well, so mark both as __meminit. Link: https://lkml.kernel.org/r/20210514135952.2928094-1-arnd@kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: David Hildenbrand <david@redhat.com> Reviewed-by: Nathan Chancellor <nathan@kernel.org> Cc: Nick Desaulniers <ndesaulniers@google.com> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Wei Yang <richard.weiyang@linux.alibaba.com> Cc: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent 4ff2473 commit f9f74dc

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

mm/shuffle.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,15 @@
1010
DECLARE_STATIC_KEY_FALSE(page_alloc_shuffle_key);
1111
extern void __shuffle_free_memory(pg_data_t *pgdat);
1212
extern bool shuffle_pick_tail(void);
13-
static inline void shuffle_free_memory(pg_data_t *pgdat)
13+
static inline void __meminit shuffle_free_memory(pg_data_t *pgdat)
1414
{
1515
if (!static_branch_unlikely(&page_alloc_shuffle_key))
1616
return;
1717
__shuffle_free_memory(pgdat);
1818
}
1919

2020
extern void __shuffle_zone(struct zone *z);
21-
static inline void shuffle_zone(struct zone *z)
21+
static inline void __meminit shuffle_zone(struct zone *z)
2222
{
2323
if (!static_branch_unlikely(&page_alloc_shuffle_key))
2424
return;

0 commit comments

Comments
 (0)