objtool: Fix weak hole vs prefix symbol
authorPeter Zijlstra <peterz@infradead.org>
Thu, 3 Nov 2022 19:57:51 +0000 (20:57 +0100)
committerPeter Zijlstra <peterz@infradead.org>
Sat, 5 Nov 2022 10:28:02 +0000 (11:28 +0100)
commit023f2340f053537cce170c31c430b0886c6f07ca
tree675254caef52385eaef8c2d344d6ed27df6277c3
parent19526717f768bf2f89ca01bd2a595728ebe57540
objtool: Fix weak hole vs prefix symbol

Boris (and the robot) reported that objtool grew a new complaint about
unreachable instructions. Upon inspection it was immediately clear
the __weak zombie instructions struck again.

For the unweary, the linker will simply remove the symbol for
overriden __weak symbols but leave the instructions in place, creating
unreachable instructions -- and objtool likes to report these.

Commit 4adb23686795 ("objtool: Ignore extra-symbol code") was supposed
to have dealt with that, but the new commit 9f2899fe36a6 ("objtool:
Add option to generate prefix symbols") subtly broke that logic by
created unvisited symbols.

Fixes: 9f2899fe36a6 ("objtool: Add option to generate prefix symbols")
Reported-by: Borislav Petkov <bp@alien8.de>
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
tools/objtool/check.c