[tip: objtool/urgent] objtool: Fix false-positive "ignoring unreachables" warning

tip-bot2 for Josh Poimboeuf posted 1 patch 8 months, 1 week ago
There is a newer version of this series
tools/objtool/arch/x86/special.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[tip: objtool/urgent] objtool: Fix false-positive "ignoring unreachables" warning
Posted by tip-bot2 for Josh Poimboeuf 8 months, 1 week ago
The following commit has been merged into the objtool/urgent branch of tip:

Commit-ID:     8af6f0fe9c4340ed97f0ba4f3f6cc7bb16558e87
Gitweb:        https://git.kernel.org/tip/8af6f0fe9c4340ed97f0ba4f3f6cc7bb16558e87
Author:        Josh Poimboeuf <jpoimboe@kernel.org>
AuthorDate:    Wed, 09 Apr 2025 15:49:36 -07:00
Committer:     Ingo Molnar <mingo@kernel.org>
CommitterDate: Thu, 10 Apr 2025 08:03:05 +02:00

objtool: Fix false-positive "ignoring unreachables" warning

There's no need to try to automatically disable unreachable warnings if
they've already been manually disabled due to CONFIG_KCOV quirks.

This avoids a spurious warning with a KCOV kernel:

  fs/smb/client/cifs_unicode.o: warning: objtool: cifsConvertToUTF16.part.0+0xce5: ignoring unreachables due to jump table quirk

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/5eb28eeb6a724b7d945a961cfdcf8d41e6edf3dc.1744238814.git.jpoimboe@kernel.org

Closes: https://lore.kernel.org/r/202504090910.QkvTAR36-lkp@intel.com/
---
 tools/objtool/arch/x86/special.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/objtool/arch/x86/special.c b/tools/objtool/arch/x86/special.c
index 403e587..06ca4a2 100644
--- a/tools/objtool/arch/x86/special.c
+++ b/tools/objtool/arch/x86/special.c
@@ -126,7 +126,7 @@ struct reloc *arch_find_switch_table(struct objtool_file *file,
 	 * indicates a rare GCC quirk/bug which can leave dead
 	 * code behind.
 	 */
-	if (reloc_type(text_reloc) == R_X86_64_PC32) {
+	if (!file->ignore_unreachables && reloc_type(text_reloc) == R_X86_64_PC32) {
 		WARN_INSN(insn, "ignoring unreachables due to jump table quirk");
 		file->ignore_unreachables = true;
 	}
Re: [tip: objtool/urgent] objtool: Fix false-positive "ignoring unreachables" warning
Posted by Josh Poimboeuf 8 months, 1 week ago
On Thu, Apr 10, 2025 at 06:14:43AM +0000, tip-bot2 for Josh Poimboeuf wrote:
> The following commit has been merged into the objtool/urgent branch of tip:
> 
> Commit-ID:     8af6f0fe9c4340ed97f0ba4f3f6cc7bb16558e87
> Gitweb:        https://git.kernel.org/tip/8af6f0fe9c4340ed97f0ba4f3f6cc7bb16558e87
> Author:        Josh Poimboeuf <jpoimboe@kernel.org>
> AuthorDate:    Wed, 09 Apr 2025 15:49:36 -07:00
> Committer:     Ingo Molnar <mingo@kernel.org>
> CommitterDate: Thu, 10 Apr 2025 08:03:05 +02:00
> 
> objtool: Fix false-positive "ignoring unreachables" warning
> 
> There's no need to try to automatically disable unreachable warnings if
> they've already been manually disabled due to CONFIG_KCOV quirks.
> 
> This avoids a spurious warning with a KCOV kernel:
> 
>   fs/smb/client/cifs_unicode.o: warning: objtool: cifsConvertToUTF16.part.0+0xce5: ignoring unreachables due to jump table quirk
> 
> Reported-by: kernel test robot <lkp@intel.com>
> Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
> Signed-off-by: Ingo Molnar <mingo@kernel.org>
> Link: https://lore.kernel.org/r/5eb28eeb6a724b7d945a961cfdcf8d41e6edf3dc.1744238814.git.jpoimboe@kernel.org
> 
> Closes: https://lore.kernel.org/r/202504090910.QkvTAR36-lkp@intel.com/

Superfluous newline there.

Also, this probably could use a fixes tag:

Fixes: eeff7ac61526 ("objtool: Warn when disabling unreachable warnings")

Thanks!

-- 
Josh
Re: [tip: objtool/urgent] objtool: Fix false-positive "ignoring unreachables" warning
Posted by Ingo Molnar 8 months, 1 week ago
* Josh Poimboeuf <jpoimboe@kernel.org> wrote:

> On Thu, Apr 10, 2025 at 06:14:43AM +0000, tip-bot2 for Josh Poimboeuf wrote:
> > The following commit has been merged into the objtool/urgent branch of tip:
> > 
> > Commit-ID:     8af6f0fe9c4340ed97f0ba4f3f6cc7bb16558e87
> > Gitweb:        https://git.kernel.org/tip/8af6f0fe9c4340ed97f0ba4f3f6cc7bb16558e87
> > Author:        Josh Poimboeuf <jpoimboe@kernel.org>
> > AuthorDate:    Wed, 09 Apr 2025 15:49:36 -07:00
> > Committer:     Ingo Molnar <mingo@kernel.org>
> > CommitterDate: Thu, 10 Apr 2025 08:03:05 +02:00
> > 
> > objtool: Fix false-positive "ignoring unreachables" warning
> > 
> > There's no need to try to automatically disable unreachable warnings if
> > they've already been manually disabled due to CONFIG_KCOV quirks.
> > 
> > This avoids a spurious warning with a KCOV kernel:
> > 
> >   fs/smb/client/cifs_unicode.o: warning: objtool: cifsConvertToUTF16.part.0+0xce5: ignoring unreachables due to jump table quirk
> > 
> > Reported-by: kernel test robot <lkp@intel.com>
> > Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
> > Signed-off-by: Ingo Molnar <mingo@kernel.org>
> > Link: https://lore.kernel.org/r/5eb28eeb6a724b7d945a961cfdcf8d41e6edf3dc.1744238814.git.jpoimboe@kernel.org
> > 
> > Closes: https://lore.kernel.org/r/202504090910.QkvTAR36-lkp@intel.com/
> 
> Superfluous newline there.

Fixed. Not sure what happened there.

> Also, this probably could use a fixes tag:
> 
> Fixes: eeff7ac61526 ("objtool: Warn when disabling unreachable warnings")

Added that one too.

Thanks!

	Ingo