Re: [PATCH 2/3] modpost: remove unreachable code after fatal()

From: Nathan Chancellor
Date: Wed Nov 29 2023 - 19:29:49 EST


On Sat, Nov 25, 2023 at 07:31:15PM +0900, Masahiro Yamada wrote:
> fatal() never returns. Remove unreachable code.
>
> Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>

Reviewed-by: Nathan Chancellor <nathan@xxxxxxxxxx>

> ---
>
> scripts/mod/modpost.c | 9 +++------
> 1 file changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
> index ca0a90158f85..013fc5031bc7 100644
> --- a/scripts/mod/modpost.c
> +++ b/scripts/mod/modpost.c
> @@ -473,11 +473,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) {
> /*
> @@ -515,12 +513,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)
> --
> 2.40.1
>