[PATCH] x86_64: Don't clobber r8-r11 in int 0x80 handler

When int 0x80 is called from long mode r8-r11 would leak out of the
kernel (or rather they would be filled with some values from
the kernel stack). I don't think it's a security issue because
the values come from the fixed stack frame which should be near
always user registers from a previous interrupt.

Still better fix it.

Longer term the register save macros need to be cleaned up
to avoid such mistakes in the future.

Original analysis from Richard Brunner, fix by me.

Cc: Richard.Brunner@amd.com

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

authored by Andi Kleen and committed by Linus Torvalds 0e92da4a d5a26017

+1 -1
+1 -1
arch/x86_64/ia32/ia32entry.S
··· 103 103 pushq %rax 104 104 CFI_ADJUST_CFA_OFFSET 8 105 105 cld 106 - SAVE_ARGS 0,0,1 106 + SAVE_ARGS 0,0,0 107 107 /* no need to do an access_ok check here because rbp has been 108 108 32bit zero extended */ 109 109 1: movl (%rbp),%r9d