On Thu, Feb 08, 2018 at 02:02:32PM +0100, Peter Zijlstra wrote:
> 
> Linus reported that GCC-7.3 generated a switch-table construct that
> confused objtool. It turns out that, in particular due to KASAN, it is
> possible to have unrelated .rodata usage in between the .rodata setup
> for the switch-table and the following indirect jump.
> 
> The simple linear reverse search from the indirect jump would hit upon
> the KASAN .rodata usage first and fail to find a switch_table,
> resulting in a spurious 'sibling call with modified stack frame'
> warning.
> 
> Fix this by creating a 'jump-stack' which we can 'unwind' during
> reversal, thereby skipping over much of the in-between code.
> 
> This is not fool proof by any means, but is sufficient to make the
> known cases work. Future work would be to construct more comprehensive
> flow analysis code.
> 
> Also, since Josh keeps asking, add myself to MAINTAINERS.
> 
> Cc: Josh Poimboeuf <jpoim...@redhat.com>
> Reported-by: Linus Torvalds <torva...@linux-foundation.org>
> Signed-off-by: Peter Zijlstra (Intel) <pet...@infradead.org>

Thanks again for helping out with objtool maintainership!

No complaints from the 0-day bot, so:

Acked-by: Josh Poimboeuf <jpoim...@redhat.com>

-- 
Josh

Reply via email to