projects/linux·commit 9f6ae448

mm/page_alloc.c: silence build_all_zonelists() section mismatch

9f6ae448 · Paul Mundt <[email protected]> · 2011-04-14 15:21:57 -07:00

The memory hotplug case involves calling to build_all_zonelists() which
in turns calls in to setup_zone_pageset().  The latter is marked
__meminit while build_all_zonelists() itself has no particular
annotation.  build_all_zonelists() is only handed a non-NULL pointer in
the case of memory hotplug through an existing __meminit path, so the
setup_zone_pageset() reference is always safe.

The options as such are either to flag build_all_zonelists() as __ref (as
per __build_all_zonelists()), or to simply discard the __meminit
annotation from setup_zone_pageset().

Signed-off-by: Paul Mundt <[email protected]>
Acked-by: Mel Gorman <[email protected]>
Cc: KAMEZAWA Hiroyuki <[email protected]>
Acked-by: Randy Dunlap <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Commit
9f6ae448bfc6cdf40279f43bb0b4fd159edc4e0a
Parents
c340b1d6

Changes

1 files changed · +1 −1

FileStatusAddDelContent
mm/page_alloc.cmodified+1−1View file

mm/page_alloc.c

View file
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 2747f5e..9f8a97b 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -3176,7 +3176,7 @@ static __init_refok int __build_all_zonelists(void *data)
* Called with zonelists_mutex held always
* unless system_state == SYSTEM_BOOTING.
*/
-void build_all_zonelists(void *data)
+void __ref build_all_zonelists(void *data)
{
set_zonelist_order();