lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 09 Feb 2021 11:29:41 +1000 From: Nicholas Piggin <npiggin@...il.com> To: Benjamin Herrenschmidt <benh@...nel.crashing.org>, Christophe Leroy <christophe.leroy@...roup.eu>, Michael Ellerman <mpe@...erman.id.au>, msuchanek@...e.de, Paul Mackerras <paulus@...ba.org> Cc: linux-kernel@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org Subject: Re: [PATCH v5 11/22] powerpc/syscall: Save r3 in regs->orig_r3 Excerpts from Christophe Leroy's message of February 9, 2021 1:10 am: > Save r3 in regs->orig_r3 in system_call_exception() > > Signed-off-by: Christophe Leroy <christophe.leroy@...roup.eu> Reviewed-by: Nicholas Piggin <npiggin@...il.com> > --- > v5: Removed the assembly one on SCV type system call > --- > arch/powerpc/kernel/entry_64.S | 2 -- > arch/powerpc/kernel/interrupt.c | 2 ++ > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/powerpc/kernel/entry_64.S b/arch/powerpc/kernel/entry_64.S > index 33ddfeef4fe9..a91c2def165d 100644 > --- a/arch/powerpc/kernel/entry_64.S > +++ b/arch/powerpc/kernel/entry_64.S > @@ -108,7 +108,6 @@ END_FTR_SECTION_IFSET(CPU_FTR_TM) > li r11,\trapnr > std r11,_TRAP(r1) > std r12,_CCR(r1) > - std r3,ORIG_GPR3(r1) > addi r10,r1,STACK_FRAME_OVERHEAD > ld r11,exception_marker@toc(r2) > std r11,-16(r10) /* "regshere" marker */ > @@ -278,7 +277,6 @@ END_BTB_FLUSH_SECTION > std r10,_LINK(r1) > std r11,_TRAP(r1) > std r12,_CCR(r1) > - std r3,ORIG_GPR3(r1) > addi r10,r1,STACK_FRAME_OVERHEAD > ld r11,exception_marker@toc(r2) > std r11,-16(r10) /* "regshere" marker */ > diff --git a/arch/powerpc/kernel/interrupt.c b/arch/powerpc/kernel/interrupt.c > index 46fd195ca659..1a2dec49f811 100644 > --- a/arch/powerpc/kernel/interrupt.c > +++ b/arch/powerpc/kernel/interrupt.c > @@ -29,6 +29,8 @@ notrace long system_call_exception(long r3, long r4, long r5, > { > syscall_fn f; > > + regs->orig_gpr3 = r3; > + > if (IS_ENABLED(CONFIG_PPC_IRQ_SOFT_MASK_DEBUG)) > BUG_ON(irq_soft_mask_return() != IRQS_ALL_DISABLED); > > -- > 2.25.0 > >
Powered by blists - more mailing lists