From patchwork Thu Dec 5 18:34:36 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 36544 Received: (qmail 60474 invoked by alias); 5 Dec 2019 18:34:48 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 60450 invoked by uid 89); 5 Dec 2019 18:34:48 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-21.7 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.1 spammy=H*MI:sk:dff9adb, H*f:sk:dff9adb X-HELO: mail-ua1-f67.google.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references; bh=Y4b4cd51VUxLBRlxTfEpD8Zg7+nIrQih252Za/Tdm78=; b=qq48xbjXvBAc0/iLiqVZxeVPPQtUdgI0rXz9E6z5MPoX/QxyDyikBRqqzBHuYRLiLO Ox9I7ZbZwim1qY01Vwt3WhWrUQcsQRLR85T4UtltN6vHymd34rPiVK0IfAgKsiiy/wtD FnOzMtaFvtfd8KqoaZ1KC8gFJMCTTAi3zRd/uEwbtPKYjrStK600YCkdNjENuw0r1fBv 6IUL0ZzeVRTqAEV7Yk2hP609nRoX88C0IJFfuoNTkCGkzo6SgBUSgDPxfRa5EZbTbgYb z4gD59lmwOoxFD/Plfji02wOMqVEp+1lWmBLCkczxyDPlNvJ1ofsChzf4n285phHf8QP tbwg== Return-Path: From: Adhemerval Zanella To: libc-alpha@sourceware.org Subject: [PATCH v2 2/3] linux: Remove SIGCANCEL/SIGSETXID handling on sigprocmask Date: Thu, 5 Dec 2019 15:34:36 -0300 Message-Id: <20191205183437.22696-2-adhemerval.zanella@linaro.org> In-Reply-To: <20191205183437.22696-1-adhemerval.zanella@linaro.org> References: <20191205183437.22696-1-adhemerval.zanella@linaro.org> The sigfillset already does it, and this is the canonical way to operate on sigset_t. The only way to actually broke this assumption is if caller initialize sigset with memset or something similar, i.e, bypassing glibc (and again this is not a valid construction). Checked on x86_64-linux-gnu. --- sysdeps/unix/sysv/linux/sigprocmask.c | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/sysdeps/unix/sysv/linux/sigprocmask.c b/sysdeps/unix/sysv/linux/sigprocmask.c index 73b0d0c19a..c6961a8ac4 100644 --- a/sysdeps/unix/sysv/linux/sigprocmask.c +++ b/sysdeps/unix/sysv/linux/sigprocmask.c @@ -16,26 +16,12 @@ . */ #include -#include /* SIGCANCEL, SIGSETXID */ +#include /* Get and/or change the set of blocked signals. */ int __sigprocmask (int how, const sigset_t *set, sigset_t *oset) { - sigset_t local_newmask; - - /* The only thing we have to make sure here is that SIGCANCEL and - SIGSETXID are not blocked. */ - if (set != NULL - && __glibc_unlikely (__sigismember (set, SIGCANCEL) - || __glibc_unlikely (__sigismember (set, SIGSETXID)))) - { - local_newmask = *set; - __sigdelset (&local_newmask, SIGCANCEL); - __sigdelset (&local_newmask, SIGSETXID); - set = &local_newmask; - } - return INLINE_SYSCALL_CALL (rt_sigprocmask, how, set, oset, _NSIG / 8); } libc_hidden_def (__sigprocmask)