- A bunch of changes towards streamlining low level asm helpers' calling
conventions so that former can be converted to C eventually - Simplify PUSH_AND_CLEAR_REGS so that it can be used at the system call entry paths instead of having opencoded, slightly different variants of it everywhere - Misc other fixes -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEzv7L6UO9uDPlPSfHEsHwGGHeVUoFAmKLeQEACgkQEsHwGGHe VUqFqQ/6AkVfWa9EMnmOcFcUYHjK7srsv7kzppc2P6ly98QOJFsCYagPRHVHXGZF k4Dezk29j2d4AjVdGot/CpTlRezSe0dmPxTcH5QD+SpiJ8bSgMrnH/0La+No0ypi VabOZgQaHWIUboccpE77oIRdglun/ZnePN3gRdBRtQWgmeQZVWxD6ly6L1Ptp1Lk nBXVMpH2h5agLjulsw7j7PihrbM6RFf3qSw4GkaQAAxooxb2i7qb05sG347lm72l 3ppsHtP80MKCmJpe20O+V+O4Hvq1/XJ18Tin6p1bhqSe0PW2pS5QUN7ziF/5orvH 9p8PVWrrH6kTaK1NJilGYG4eIeyuWhSVnObgFqbe7RIITy5eCYXyaq5PLqVahWFD qk1+Z3nsS6g6BLu10dFACnPq7O+6tVEWsoOZ2D4XJAV/zThbEwE75E4rW6x07gnm s0BzXgtzb0s35L46jzTctc9RtdCRFjZmD+iHXSqjEfH/dyS1tsvXX6z5wBTb5qn3 FQE3sVtZs0e5yIFAfp19hzmweY/Mgu9b1p+IfkhQhInrLyJNwUVsMkpH1WFdkL5/ RZWtURuYO7lE6Iw1wwZPL691A7hx+1cE9YWuEBH2Il6byJa4UWP4azXCx1nbMFKk E5ZDKL3iRsDPVI+k+D6NwBN19ih2LAmT2Mxcg1EOV434LLlkHsk= =P80f -----END PGP SIGNATURE----- Merge tag 'x86_asm_for_v5.19_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 asm updates from Borislav Petkov: - A bunch of changes towards streamlining low level asm helpers' calling conventions so that former can be converted to C eventually - Simplify PUSH_AND_CLEAR_REGS so that it can be used at the system call entry paths instead of having opencoded, slightly different variants of it everywhere - Misc other fixes * tag 'x86_asm_for_v5.19_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/entry: Fix register corruption in compat syscall objtool: Fix STACK_FRAME_NON_STANDARD reloc type linkage: Fix issue with missing symbol size x86/entry: Remove skip_r11rcx x86/entry: Use PUSH_AND_CLEAR_REGS for compat x86/entry: Simplify entry_INT80_compat() x86/mm: Simplify RESERVE_BRK() x86/entry: Convert SWAPGS to swapgs and remove the definition of SWAPGS x86/entry: Don't call error_entry() for XENPV x86/entry: Move CLD to the start of the idtentry macro x86/entry: Move PUSH_AND_CLEAR_REGS out of error_entry() x86/entry: Switch the stack after error_entry() returns x86/traps: Use pt_regs directly in fixup_bad_iret()
This commit is contained in:
commit
42b682a30f
10 changed files with 86 additions and 177 deletions
|
|
@ -171,12 +171,9 @@
|
|||
|
||||
/* SYM_ALIAS -- use only if you have to */
|
||||
#ifndef SYM_ALIAS
|
||||
#define SYM_ALIAS(alias, name, sym_type, linkage) \
|
||||
linkage(alias) ASM_NL \
|
||||
.set alias, name ASM_NL \
|
||||
.type alias sym_type ASM_NL \
|
||||
.set .L__sym_size_##alias, .L__sym_size_##name ASM_NL \
|
||||
.size alias, .L__sym_size_##alias
|
||||
#define SYM_ALIAS(alias, name, linkage) \
|
||||
linkage(alias) ASM_NL \
|
||||
.set alias, name ASM_NL
|
||||
#endif
|
||||
|
||||
/* === code annotations === */
|
||||
|
|
@ -261,7 +258,7 @@
|
|||
*/
|
||||
#ifndef SYM_FUNC_ALIAS
|
||||
#define SYM_FUNC_ALIAS(alias, name) \
|
||||
SYM_ALIAS(alias, name, SYM_T_FUNC, SYM_L_GLOBAL)
|
||||
SYM_ALIAS(alias, name, SYM_L_GLOBAL)
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
|
@ -269,7 +266,7 @@
|
|||
*/
|
||||
#ifndef SYM_FUNC_ALIAS_LOCAL
|
||||
#define SYM_FUNC_ALIAS_LOCAL(alias, name) \
|
||||
SYM_ALIAS(alias, name, SYM_T_FUNC, SYM_L_LOCAL)
|
||||
SYM_ALIAS(alias, name, SYM_L_LOCAL)
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
|
@ -277,7 +274,7 @@
|
|||
*/
|
||||
#ifndef SYM_FUNC_ALIAS_WEAK
|
||||
#define SYM_FUNC_ALIAS_WEAK(alias, name) \
|
||||
SYM_ALIAS(alias, name, SYM_T_FUNC, SYM_L_WEAK)
|
||||
SYM_ALIAS(alias, name, SYM_L_WEAK)
|
||||
#endif
|
||||
|
||||
/* SYM_CODE_START -- use for non-C (special) functions */
|
||||
|
|
|
|||
|
|
@ -40,6 +40,8 @@ struct unwind_hint {
|
|||
|
||||
#ifdef CONFIG_STACK_VALIDATION
|
||||
|
||||
#include <asm/asm.h>
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
#define UNWIND_HINT(sp_reg, sp_offset, type, end) \
|
||||
|
|
@ -137,7 +139,7 @@ struct unwind_hint {
|
|||
|
||||
.macro STACK_FRAME_NON_STANDARD func:req
|
||||
.pushsection .discard.func_stack_frame_non_standard, "aw"
|
||||
.long \func - .
|
||||
_ASM_PTR \func
|
||||
.popsection
|
||||
.endm
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue