Re: [PATCH 06/12] powerpc/module: Rework is_early_mcount_callsite()
From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2016-02-25 10:28:37
Also in:
lkml
From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2016-02-25 10:28:37
Also in:
lkml
On Thu, 2016-02-25 at 10:39 +1100, Balbir Singh wrote:
On 25/02/16 01:28, Michael Ellerman wrote:quoted
is_early_mcount_callsite() needs to detect either the two instruction or the three instruction versions of the _mcount() sequence. But if we're running a kernel with the two instruction sequence, we need to be careful not to read instruction - 2, otherwise we might fall off the front of a page and cause an oops. While we're here convert to bool to make the return semantics clear. Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>Do we even need to do this anymore?
Yes. Otherwise the code in apply_relocate_add() will see a far call with no nop slot after it to do the toc restore, and it considers that a bug (which it usually is, except mcount is special). As we discussed today I'm hoping we can clean this code up a bit more in the medium term, but this works for now. cheers