• Shuah Khan's avatar
    module: change to print useful messages from elf_validity_check() · 7fd982f3
    Shuah Khan authored
    elf_validity_check() checks ELF headers for errors and ELF Spec.
    compliance and if any of them fail it returns -ENOEXEC from all of
    these error paths. Almost all of them don't print any messages.
    
    When elf_validity_check() returns an error, load_module() prints an
    error message without error code. It is hard to determine why the
    module ELF structure is invalid, even if load_module() prints the
    error code which is -ENOEXEC in all of these cases.
    
    Change to print useful error messages from elf_validity_check() to
    clearly say what went wrong and why the ELF validity checks failed.
    
    Remove the load_module() error message which is no longer needed.
    This patch includes changes to fix build warns on 32-bit platforms:
    
    warning: format '%llu' expects argument of type 'long long unsigned int',
    but argument 3 has type 'Elf32_Off' {aka 'unsigned int'}
    Reported-by: default avatarkernel test robot <lkp@intel.com>
    Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
    Signed-off-by: default avatarLuis Chamberlain <mcgrof@kernel.org>
    7fd982f3
module.c 121 KB