mirror of
https://github.com/torvalds/linux.git
synced 2024-12-27 21:33:00 +00:00
arm64: don't restore GPRs when context tracking
Now that syscalls are invoked with pt_regs, we no longer need to ensure that the argument regsiters are live in the entry assembly, and it's fine to not restore them after context_tracking_user_exit() has corrupted them. Signed-off-by: Mark Rutland <mark.rutland@arm.com> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will.deacon@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
This commit is contained in:
parent
3b7142752e
commit
d9be03256d
@ -41,19 +41,9 @@
|
|||||||
* Context tracking subsystem. Used to instrument transitions
|
* Context tracking subsystem. Used to instrument transitions
|
||||||
* between user and kernel mode.
|
* between user and kernel mode.
|
||||||
*/
|
*/
|
||||||
.macro ct_user_exit, syscall = 0
|
.macro ct_user_exit
|
||||||
#ifdef CONFIG_CONTEXT_TRACKING
|
#ifdef CONFIG_CONTEXT_TRACKING
|
||||||
bl context_tracking_user_exit
|
bl context_tracking_user_exit
|
||||||
.if \syscall == 1
|
|
||||||
/*
|
|
||||||
* Save/restore needed during syscalls. Restore syscall arguments from
|
|
||||||
* the values already saved on stack during kernel_entry.
|
|
||||||
*/
|
|
||||||
ldp x0, x1, [sp]
|
|
||||||
ldp x2, x3, [sp, #S_X2]
|
|
||||||
ldp x4, x5, [sp, #S_X4]
|
|
||||||
ldp x6, x7, [sp, #S_X6]
|
|
||||||
.endif
|
|
||||||
#endif
|
#endif
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user