• Geert Uytterhoeven's avatar
    initramfs: fix populate_initrd_image() section mismatch · 4ada1e81
    Geert Uytterhoeven authored
    With gcc-4.6.3:
    
        WARNING: vmlinux.o(.text.unlikely+0x140): Section mismatch in reference from the function populate_initrd_image() to the variable .init.ramfs.info:__initramfs_size
        The function populate_initrd_image() references
        the variable __init __initramfs_size.
        This is often because populate_initrd_image lacks a __init
        annotation or the annotation of __initramfs_size is wrong.
    
        WARNING: vmlinux.o(.text.unlikely+0x14c): Section mismatch in reference from the function populate_initrd_image() to the function .init.text:unpack_to_rootfs()
        The function populate_initrd_image() references
        the function __init unpack_to_rootfs().
        This is often because populate_initrd_image lacks a __init
        annotation or the annotation of unpack_to_rootfs is wrong.
    
        WARNING: vmlinux.o(.text.unlikely+0x198): Section mismatch in reference from the function populate_initrd_image() to the function .init.text:xwrite()
        The function populate_initrd_image() references
        the function __init xwrite().
        This is often because populate_initrd_image lacks a __init
        annotation or the annotation of xwrite is wrong.
    
    Indeed, if the compiler decides not to inline populate_initrd_image(), a
    warning is generated.
    
    Fix this by adding the missing __init annotations.
    
    Link: http://lkml.kernel.org/r/20190617074340.12779-1-geert@linux-m68k.org
    Fixes: 7c184ecd ("initramfs: factor out a helper to populate the initrd image")
    Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
    Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    4ada1e81
initramfs.c 14.3 KB