signal.c (a976c2951d8f376112361830aa7762beff83a205) | signal.c (99504819fc643160afd6813921b1d42b18e52a49) |
---|---|
1/* 2 * Copyright (C) 1991, 1992 Linus Torvalds 3 * Copyright (C) 2000, 2001, 2002 Andi Kleen SuSE Labs 4 * 5 * 1997-11-28 Modified for POSIX.1b signals by Richard Henderson 6 * 2000-06-20 Pentium III FXSR, SSE support by Gareth Hughes 7 * 2000-2002 x86-64 support by Andi Kleen 8 */ --- 242 unchanged lines hidden (view full) --- 251 sp -= 128; 252 253 /* This is the X/Open sanctioned signal stack switching. */ 254 if (ka->sa.sa_flags & SA_ONSTACK) { 255 if (sas_ss_flags(sp) == 0) 256 sp = current->sas_ss_sp + current->sas_ss_size; 257 } else if (IS_ENABLED(CONFIG_X86_32) && 258 !onsigstack && | 1/* 2 * Copyright (C) 1991, 1992 Linus Torvalds 3 * Copyright (C) 2000, 2001, 2002 Andi Kleen SuSE Labs 4 * 5 * 1997-11-28 Modified for POSIX.1b signals by Richard Henderson 6 * 2000-06-20 Pentium III FXSR, SSE support by Gareth Hughes 7 * 2000-2002 x86-64 support by Andi Kleen 8 */ --- 242 unchanged lines hidden (view full) --- 251 sp -= 128; 252 253 /* This is the X/Open sanctioned signal stack switching. */ 254 if (ka->sa.sa_flags & SA_ONSTACK) { 255 if (sas_ss_flags(sp) == 0) 256 sp = current->sas_ss_sp + current->sas_ss_size; 257 } else if (IS_ENABLED(CONFIG_X86_32) && 258 !onsigstack && |
259 (regs->ss & 0xffff) != __USER_DS && | 259 regs->ss != __USER_DS && |
260 !(ka->sa.sa_flags & SA_RESTORER) && 261 ka->sa.sa_restorer) { 262 /* This is the legacy signal stack switching. */ 263 sp = (unsigned long) ka->sa.sa_restorer; 264 } 265 266 if (fpu->fpstate_active) { 267 sp = fpu__alloc_mathframe(sp, IS_ENABLED(CONFIG_X86_32), --- 620 unchanged lines hidden --- | 260 !(ka->sa.sa_flags & SA_RESTORER) && 261 ka->sa.sa_restorer) { 262 /* This is the legacy signal stack switching. */ 263 sp = (unsigned long) ka->sa.sa_restorer; 264 } 265 266 if (fpu->fpstate_active) { 267 sp = fpu__alloc_mathframe(sp, IS_ENABLED(CONFIG_X86_32), --- 620 unchanged lines hidden --- |