From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stas Sergeev Subject: [PATCH 0/4] make sigaltstack() compatible with swapcontext() Date: Sun, 31 Jan 2016 19:16:41 +0300 Message-ID: <56AE3369.2090709@list.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Return-path: Sender: linux-api-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Linux kernel Cc: linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Andy Lutomirski List-Id: linux-api@vger.kernel.org The following patches add the self-test for sigaltstack(SS_DISABLE) inside the signal handler, and allow an app to temporarily disable and re-enable the sigaltstack within a sighandler. This is needed to make sigaltstack() compatible with swapcontext(): before using swapcontext() inside the sighandler, the sigaltstack should be disabled, or the stack will be corrupted by the subsequent signals. arch/score/kernel/signal.c | 2 arch/x86/kernel/signal.c | 2 include/linux/sched.h | 8 + include/linux/signal.h | 2 kernel/fork.c | 4 kernel/signal.c | 54 +++++++---- tools/testing/selftests/Makefile | 1 tools/testing/selftests/sigaltstack/Makefile | 8 + tools/testing/selftests/sigaltstack/sas.c | 132 +++++++++++++++++++++++++++ 9 files changed, 189 insertions(+), 24 deletions(-) From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757572AbcAaQQv (ORCPT ); Sun, 31 Jan 2016 11:16:51 -0500 Received: from smtp37.i.mail.ru ([94.100.177.97]:57009 "EHLO smtp37.i.mail.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757477AbcAaQQt (ORCPT ); Sun, 31 Jan 2016 11:16:49 -0500 From: Stas Sergeev Subject: [PATCH 0/4] make sigaltstack() compatible with swapcontext() To: Linux kernel Cc: linux-api@vger.kernel.org, Andy Lutomirski Message-ID: <56AE3369.2090709@list.ru> Date: Sun, 31 Jan 2016 19:16:41 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Mras: Ok Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The following patches add the self-test for sigaltstack(SS_DISABLE) inside the signal handler, and allow an app to temporarily disable and re-enable the sigaltstack within a sighandler. This is needed to make sigaltstack() compatible with swapcontext(): before using swapcontext() inside the sighandler, the sigaltstack should be disabled, or the stack will be corrupted by the subsequent signals. arch/score/kernel/signal.c | 2 arch/x86/kernel/signal.c | 2 include/linux/sched.h | 8 + include/linux/signal.h | 2 kernel/fork.c | 4 kernel/signal.c | 54 +++++++---- tools/testing/selftests/Makefile | 1 tools/testing/selftests/sigaltstack/Makefile | 8 + tools/testing/selftests/sigaltstack/sas.c | 132 +++++++++++++++++++++++++++ 9 files changed, 189 insertions(+), 24 deletions(-)