Commit f5d9283e authored by Brian Gerst's avatar Brian Gerst Committed by Borislav Petkov
Browse files

x86/32: Simplify ELF_CORE_COPY_REGS



GS is now always a user segment, so there is no difference between user
and kernel registers.

Signed-off-by: default avatarBrian Gerst <brgerst@gmail.com>
Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
Reviewed-by: default avatarThomas Gleixner <tglx@linutronix.de>
Acked-by: default avatarAndy Lutomirski <luto@kernel.org>
Link: https://lore.kernel.org/r/20220325153953.162643-2-brgerst@gmail.com
parent 31231092
Loading
Loading
Loading
Loading
+2 −13
Original line number Diff line number Diff line
@@ -116,7 +116,7 @@ extern unsigned int vdso32_enabled;
 * now struct_user_regs, they are different)
 */

#define ELF_CORE_COPY_REGS_COMMON(pr_reg, regs)	\
#define ELF_CORE_COPY_REGS(pr_reg, regs)	\
do {						\
	pr_reg[0] = regs->bx;			\
	pr_reg[1] = regs->cx;			\
@@ -128,6 +128,7 @@ do { \
	pr_reg[7] = regs->ds;			\
	pr_reg[8] = regs->es;			\
	pr_reg[9] = regs->fs;			\
	savesegment(gs, pr_reg[10]);		\
	pr_reg[11] = regs->orig_ax;		\
	pr_reg[12] = regs->ip;			\
	pr_reg[13] = regs->cs;			\
@@ -136,18 +137,6 @@ do { \
	pr_reg[16] = regs->ss;			\
} while (0);

#define ELF_CORE_COPY_REGS(pr_reg, regs)	\
do {						\
	ELF_CORE_COPY_REGS_COMMON(pr_reg, regs);\
	pr_reg[10] = get_user_gs(regs);		\
} while (0);

#define ELF_CORE_COPY_KERNEL_REGS(pr_reg, regs)	\
do {						\
	ELF_CORE_COPY_REGS_COMMON(pr_reg, regs);\
	savesegment(gs, pr_reg[10]);		\
} while (0);

#define ELF_PLATFORM	(utsname()->machine)
#define set_personality_64bit()	do { } while (0)