From owner-cvs-all Wed Nov 29 21:23:54 2000 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id CB70F37B400; Wed, 29 Nov 2000 21:23:49 -0800 (PST) Received: (from marcel@localhost) by freefall.freebsd.org (8.11.1/8.11.1) id eAU5NnO37453; Wed, 29 Nov 2000 21:23:49 -0800 (PST) (envelope-from marcel) Message-Id: <200011300523.eAU5NnO37453@freefall.freebsd.org> From: Marcel Moolenaar Date: Wed, 29 Nov 2000 21:23:49 -0800 (PST) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/alpha/alpha machdep.c src/sys/alpha/include cpu.h src/sys/alpha/osf1 osf1_signal.c src/sys/compat/svr4 svr4_signal.c src/sys/i386/i386 machdep.c src/sys/i386/include cpu.h src/sys/i386/linux linux.h linux_machdep.c linux_sysvec.c ... X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG marcel 2000/11/29 21:23:49 PST Modified files: sys/alpha/alpha machdep.c sys/alpha/include cpu.h sys/alpha/osf1 osf1_signal.c sys/compat/svr4 svr4_signal.c sys/i386/i386 machdep.c sys/i386/include cpu.h sys/i386/linux linux.h linux_machdep.c linux_sysvec.c sys/i386/svr4 svr4_machdep.c sys/ia64/ia64 machdep.c sys/ia64/include cpu.h sys/kern kern_sig.c sys/pc98/i386 machdep.c sys/sys proc.h Log: Don't use p->p_sigstk.ss_flags to keep state of whether the process is on the alternate stack or not. For compatibility with sigstack(2) state is being updated if such is needed. We now determine whether the process is on the alternate stack by looking at its stack pointer. This allows a process to siglongjmp from a signal handler on the alternate stack to the place of the sigsetjmp on the normal stack. When maintaining state, this would have invalidated the state information and causing a subsequent signal to be delivered on the normal stack instead of the alternate stack. PR: 22286 Revision Changes Path 1.102 +16 -5 src/sys/alpha/alpha/machdep.c 1.20 +3 -1 src/sys/alpha/include/cpu.h 1.4 +3 -3 src/sys/alpha/osf1/osf1_signal.c 1.11 +2 -2 src/sys/compat/svr4/svr4_signal.c 1.423 +18 -6 src/sys/i386/i386/machdep.c 1.51 +3 -2 src/sys/i386/include/cpu.h 1.51 +1 -2 src/sys/i386/linux/linux.h 1.10 +1 -3 src/sys/i386/linux/linux_machdep.c 1.71 +13 -18 src/sys/i386/linux/linux_sysvec.c 1.15 +2 -2 src/sys/i386/svr4/svr4_machdep.c 1.14 +9 -3 src/sys/ia64/ia64/machdep.c 1.7 +3 -1 src/sys/ia64/include/cpu.h 1.94 +38 -28 src/sys/kern/kern_sig.c 1.191 +18 -6 src/sys/pc98/i386/machdep.c 1.127 +15 -1 src/sys/sys/proc.h To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message