mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-23 12:14:10 +08:00
modpost: remove unreachable code after fatal()
Now compilers can recognize fatal() never returns. While GCC 4.5 dropped support for -Wunreachable-code, Clang is capable of detecting the unreachable code. $ make HOSTCC=clang HOSTCFLAGS=-Wunreachable-code-return [snip] HOSTCC scripts/mod/modpost.o scripts/mod/modpost.c:520:11: warning: 'return' will never be executed [-Wunreachable-code-return] return 0; ^ scripts/mod/modpost.c:477:10: warning: 'return' will never be executed [-Wunreachable-code-return] return 0; ^ 2 warnings generated. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Reviewed-by: Nathan Chancellor <nathan@kernel.org>
This commit is contained in:
parent
5cac96f937
commit
c9f2b8d45a
@ -476,11 +476,9 @@ static int parse_elf(struct elf_info *info, const char *filename)
|
||||
fatal("%s: not relocatable object.", filename);
|
||||
|
||||
/* Check if file offset is correct */
|
||||
if (hdr->e_shoff > info->size) {
|
||||
if (hdr->e_shoff > info->size)
|
||||
fatal("section header offset=%lu in file '%s' is bigger than filesize=%zu\n",
|
||||
(unsigned long)hdr->e_shoff, filename, info->size);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (hdr->e_shnum == SHN_UNDEF) {
|
||||
/*
|
||||
@ -518,12 +516,11 @@ static int parse_elf(struct elf_info *info, const char *filename)
|
||||
const char *secname;
|
||||
int nobits = sechdrs[i].sh_type == SHT_NOBITS;
|
||||
|
||||
if (!nobits && sechdrs[i].sh_offset > info->size) {
|
||||
if (!nobits && sechdrs[i].sh_offset > info->size)
|
||||
fatal("%s is truncated. sechdrs[i].sh_offset=%lu > sizeof(*hrd)=%zu\n",
|
||||
filename, (unsigned long)sechdrs[i].sh_offset,
|
||||
sizeof(*hdr));
|
||||
return 0;
|
||||
}
|
||||
|
||||
secname = secstrings + sechdrs[i].sh_name;
|
||||
if (strcmp(secname, ".modinfo") == 0) {
|
||||
if (nobits)
|
||||
|
Loading…
Reference in New Issue
Block a user