[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <9ef94ec4-bbb0-43e6-866f-40f68128cd78@moroto.mountain>
Date: Thu, 8 Jun 2023 11:23:40 +0300
From: Dan Carpenter <dan.carpenter@...aro.org>
To: Quentin Casasnovas <quentin.casasnovas@...cle.com>
Cc: Masahiro Yamada <masahiroy@...nel.org>,
Nathan Chancellor <nathan@...nel.org>,
Nick Desaulniers <ndesaulniers@...gle.com>,
Nicolas Schier <nicolas@...sle.eu>,
Rusty Russell <rusty@...tcorp.com.au>,
linux-kbuild@...r.kernel.org, linux-kernel@...r.kernel.org,
kernel-janitors@...r.kernel.org
Subject: [PATCH] modpost: fix off by one in is_executable_section()
The > comparison should be >= to prevent an out of bounds array
access.
Fixes: 52dc0595d540 ("modpost: handle relocations mismatch in __ex_table.")
Signed-off-by: Dan Carpenter <dan.carpenter@...aro.org>
---
scripts/mod/modpost.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
index d10f5bdcb753..c3cb69c276ae 100644
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
@@ -1139,7 +1139,7 @@ static Elf_Sym *find_tosym(struct elf_info *elf, Elf_Addr addr, Elf_Sym *sym)
static bool is_executable_section(struct elf_info *elf, unsigned int secndx)
{
- if (secndx > elf->num_sections)
+ if (secndx >= elf->num_sections)
return false;
return (elf->sechdrs[secndx].sh_flags & SHF_EXECINSTR) != 0;
--
2.39.2
Powered by blists - more mailing lists