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 ---