This is a note to let you know that I've just added the patch titled powerpc/64s: move some exception handlers out of line to the 4.14-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: powerpc-64s-move-some-exception-handlers-out-of-line.patch and it can be found in the queue-4.14 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From foo@baz Fri Nov 20 08:20:38 AM CET 2020 From: Daniel Axtens <dja@xxxxxxxxxx> Date: Fri, 20 Nov 2020 10:52:38 +1100 Subject: powerpc/64s: move some exception handlers out of line To: stable@xxxxxxxxxxxxxxx Cc: dja@xxxxxxxxxx Message-ID: <20201119235244.373127-3-dja@xxxxxxxxxx> From: Daniel Axtens <dja@xxxxxxxxxx> (backport only) We're about to grow the exception handlers, which will make a bunch of them no longer fit within the space available. We move them out of line. This is a fiddly and error-prone business, so in the interests of reviewability I haven't merged this in with the addition of the entry flush. Signed-off-by: Daniel Axtens <dja@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- arch/powerpc/kernel/exceptions-64s.S | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) --- a/arch/powerpc/kernel/exceptions-64s.S +++ b/arch/powerpc/kernel/exceptions-64s.S @@ -516,13 +516,16 @@ ALT_MMU_FTR_SECTION_END_IFCLR(MMU_FTR_TY EXC_REAL_BEGIN(data_access_slb, 0x380, 0x80) SET_SCRATCH0(r13) EXCEPTION_PROLOG_0(PACA_EXSLB) + b tramp_data_access_slb +EXC_REAL_END(data_access_slb, 0x380, 0x80) + +TRAMP_REAL_BEGIN(tramp_data_access_slb) EXCEPTION_PROLOG_1(PACA_EXSLB, KVMTEST_PR, 0x380) mr r12,r3 /* save r3 */ mfspr r3,SPRN_DAR mfspr r11,SPRN_SRR1 crset 4*cr6+eq BRANCH_TO_COMMON(r10, slb_miss_common) -EXC_REAL_END(data_access_slb, 0x380, 0x80) EXC_VIRT_BEGIN(data_access_slb, 0x4380, 0x80) SET_SCRATCH0(r13) @@ -560,13 +563,16 @@ ALT_MMU_FTR_SECTION_END_IFCLR(MMU_FTR_TY EXC_REAL_BEGIN(instruction_access_slb, 0x480, 0x80) SET_SCRATCH0(r13) EXCEPTION_PROLOG_0(PACA_EXSLB) + b tramp_instruction_access_slb +EXC_REAL_END(instruction_access_slb, 0x480, 0x80) + +TRAMP_REAL_BEGIN(tramp_instruction_access_slb) EXCEPTION_PROLOG_1(PACA_EXSLB, KVMTEST_PR, 0x480) mr r12,r3 /* save r3 */ mfspr r3,SPRN_SRR0 /* SRR0 is faulting address */ mfspr r11,SPRN_SRR1 crclr 4*cr6+eq BRANCH_TO_COMMON(r10, slb_miss_common) -EXC_REAL_END(instruction_access_slb, 0x480, 0x80) EXC_VIRT_BEGIN(instruction_access_slb, 0x4480, 0x80) SET_SCRATCH0(r13) Patches currently in stable-queue which might be from dja@xxxxxxxxxx are queue-4.14/powerpc-add-a-framework-for-user-access-tracking.patch queue-4.14/powerpc-implement-user_access_begin-and-friends.patch queue-4.14/powerpc-uaccess-evaluate-macro-arguments-once-before-user-access-is-allowed.patch queue-4.14/powerpc-64s-flush-l1d-after-user-accesses.patch queue-4.14/powerpc-64s-move-some-exception-handlers-out-of-line.patch queue-4.14/powerpc-64s-flush-l1d-on-kernel-entry.patch queue-4.14/powerpc-fix-__clear_user-with-kuap-enabled.patch queue-4.14/powerpc-64s-define-maskable_relon_exception_pseries_ool.patch