x86/32: Simplify ELF_CORE_COPY_REGS
authorBrian Gerst <brgerst@gmail.com>
Fri, 25 Mar 2022 15:39:50 +0000 (11:39 -0400)
committerBorislav Petkov <bp@suse.de>
Tue, 12 Apr 2022 13:42:59 +0000 (15:42 +0200)
GS is now always a user segment, so there is no difference between user
and kernel registers.

Signed-off-by: Brian Gerst <brgerst@gmail.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Andy Lutomirski <luto@kernel.org>
Link: https://lore.kernel.org/r/20220325153953.162643-2-brgerst@gmail.com
arch/x86/include/asm/elf.h

index 29fea18..cb0ff10 100644 (file)
@@ -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)