From 1b0bf596e102080e7f95769dfa217350ffb7d4a0 Mon Sep 17 00:00:00 2001 From: Arun Sharma Date: Wed, 22 Oct 2003 02:49:38 -0700 Subject: [PATCH] [PATCH] ia64: don't touch IA-32 segment descriptors too early Without this patch, if a signal handler tried to access TLS data (via %gs), things break, because the GS descriptor is zero. To be compatible with i386, we shouldn't be touching the segment descriptors before getting into signal handlers. --- arch/ia64/ia32/ia32_signal.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/arch/ia64/ia32/ia32_signal.c b/arch/ia64/ia32/ia32_signal.c index aba19859d2f7d..82d929427b920 100644 --- a/arch/ia64/ia32/ia32_signal.c +++ b/arch/ia64/ia32/ia32_signal.c @@ -877,8 +877,6 @@ setup_frame_ia32 (int sig, struct k_sigaction *ka, sigset_t *set, struct pt_regs regs->cr_iip = IA32_SA_HANDLER(ka); set_fs(USER_DS); - regs->r16 = (__USER_DS << 16) | (__USER_DS); /* ES == DS, GS, FS are zero */ - regs->r17 = (__USER_DS << 16) | __USER_CS; #if 0 regs->eflags &= ~TF_MASK; @@ -950,9 +948,6 @@ setup_rt_frame_ia32 (int sig, struct k_sigaction *ka, siginfo_t *info, set_fs(USER_DS); - regs->r16 = (__USER_DS << 16) | (__USER_DS); /* ES == DS, GS, FS are zero */ - regs->r17 = (__USER_DS << 16) | __USER_CS; - #if 0 regs->eflags &= ~TF_MASK; #endif -- 2.53.0