This patch marks two functions, which only get called at initialization, as __init. Here is also interesting, that modpost doesn't catch here the right function name. WARNING: lib/built-in.o(.text+0x585f): Section mismatch in reference from the function T.506() to the variable .init.data:obj The function T.506() references the variable __initdata obj. This is often because T.506 lacks a __initdata annotation or the annotation of obj is wrong.
Showing the changes to lib/debugobjects.c (1 of 1 file). Show all
Unified · Split
| @@ -773,7 +773,7 @@ static int __init fixup_free(void *addr, enum debug_obj_state state) · 772 unmodified lines | |||
| 773 | } | 773 | } |
| 774 | } | 774 | } |
| 775 | 775 | ||
| 776 | static int | 776 | static int __init |
| 777 | check_results(void *addr, enum debug_obj_state state, int fixups, int warnings) | 777 | check_results(void *addr, enum debug_obj_state state, int fixups, int warnings) |
| 778 | { | 778 | { |
| 779 | struct debug_bucket *db; | 779 | struct debug_bucket *db; |
| @@ -916,7 +916,7 @@ void __init debug_objects_early_init(void) · 136 unmodified lines | |||
| 916 | /* | 916 | /* |
| 917 | * Convert the statically allocated objects to dynamic ones: | 917 | * Convert the statically allocated objects to dynamic ones: |
| 918 | */ | 918 | */ |
| 919 | static int debug_objects_replace_static_objects(void) | 919 | static int __init debug_objects_replace_static_objects(void) |
| 920 | { | 920 | { |
| 921 | struct debug_bucket *db = obj_hash; | 921 | struct debug_bucket *db = obj_hash; |
| 922 | struct hlist_node *node, *tmp; | 922 | struct hlist_node *node, *tmp; |