[PATCH v3 26/32] powerpc/64: system call zero volatile registers when returning

Segher Boessenkool segher at kernel.crashing.org
Wed Feb 26 08:20:32 AEDT 2020


Hi!

On Wed, Feb 26, 2020 at 03:35:35AM +1000, Nicholas Piggin wrote:
> Kernel addresses and potentially other sensitive data could be leaked
> in volatile registers after a syscall.

>  	cmpdi	r3,0
>  	bne	.Lsyscall_restore_regs
> +	li	r0,0
> +	li	r4,0
> +	li	r5,0
> +	li	r6,0
> +	li	r7,0
> +	li	r8,0
> +	li	r9,0
> +	li	r10,0
> +	li	r11,0
> +	li	r12,0
> +	mtctr	r0
> +	mtspr	SPRN_XER,r0
>  .Lsyscall_restore_regs_cont:

What about LR?  Is that taken care of later?

This also deserves a big fat comment imo, it is very important after
all, and not so obvious.


Segher


More information about the Linuxppc-dev mailing list