2023-11-25 10:31:45

by Masahiro Yamada

[permalink] [raw]
Subject: [PATCH 2/3] modpost: remove unreachable code after fatal()

fatal() never returns. Remove unreachable code.

Signed-off-by: Masahiro Yamada <[email protected]>
---

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


2023-11-30 00:30:01

by Nathan Chancellor

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

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

Reviewed-by: Nathan Chancellor <[email protected]>

> ---
>
> 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
>