From owner-svn-src-head@freebsd.org Fri Sep 2 18:22:57 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5ECEFBCDA9A; Fri, 2 Sep 2016 18:22:57 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 37BB1C8F; Fri, 2 Sep 2016 18:22:57 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u82IMuMK042930; Fri, 2 Sep 2016 18:22:56 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u82IMuQE042929; Fri, 2 Sep 2016 18:22:56 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <201609021822.u82IMuQE042929@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Fri, 2 Sep 2016 18:22:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r305288 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Sep 2016 18:22:57 -0000 Author: brooks Date: Fri Sep 2 18:22:56 2016 New Revision: 305288 URL: https://svnweb.freebsd.org/changeset/base/305288 Log: Merge from CheriBSD: Rename sigprop-table constants to SIGPROP_ from SA_ to reduce the impression of a namespace collision. Submitted by: rwatson Reviewed by: jhb, kib (slightly different versions) Obtained from: CheriBSD (814ec5771cb1cb53deba317c561de62a91ae7684) Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D7616 Modified: head/sys/kern/kern_sig.c Modified: head/sys/kern/kern_sig.c ============================================================================== --- head/sys/kern/kern_sig.c Fri Sep 2 17:24:16 2016 (r305287) +++ head/sys/kern/kern_sig.c Fri Sep 2 18:22:56 2016 (r305288) @@ -189,46 +189,46 @@ SYSCTL_INT(_kern, OID_AUTO, coredump_dev * The array below categorizes the signals and their default actions * according to the following properties: */ -#define SA_KILL 0x01 /* terminates process by default */ -#define SA_CORE 0x02 /* ditto and coredumps */ -#define SA_STOP 0x04 /* suspend process */ -#define SA_TTYSTOP 0x08 /* ditto, from tty */ -#define SA_IGNORE 0x10 /* ignore by default */ -#define SA_CONT 0x20 /* continue if suspended */ -#define SA_CANTMASK 0x40 /* non-maskable, catchable */ +#define SIGPROP_KILL 0x01 /* terminates process by default */ +#define SIGPROP_CORE 0x02 /* ditto and coredumps */ +#define SIGPROP_STOP 0x04 /* suspend process */ +#define SIGPROP_TTYSTOP 0x08 /* ditto, from tty */ +#define SIGPROP_IGNORE 0x10 /* ignore by default */ +#define SIGPROP_CONT 0x20 /* continue if suspended */ +#define SIGPROP_CANTMASK 0x40 /* non-maskable, catchable */ static int sigproptbl[NSIG] = { - SA_KILL, /* SIGHUP */ - SA_KILL, /* SIGINT */ - SA_KILL|SA_CORE, /* SIGQUIT */ - SA_KILL|SA_CORE, /* SIGILL */ - SA_KILL|SA_CORE, /* SIGTRAP */ - SA_KILL|SA_CORE, /* SIGABRT */ - SA_KILL|SA_CORE, /* SIGEMT */ - SA_KILL|SA_CORE, /* SIGFPE */ - SA_KILL, /* SIGKILL */ - SA_KILL|SA_CORE, /* SIGBUS */ - SA_KILL|SA_CORE, /* SIGSEGV */ - SA_KILL|SA_CORE, /* SIGSYS */ - SA_KILL, /* SIGPIPE */ - SA_KILL, /* SIGALRM */ - SA_KILL, /* SIGTERM */ - SA_IGNORE, /* SIGURG */ - SA_STOP, /* SIGSTOP */ - SA_STOP|SA_TTYSTOP, /* SIGTSTP */ - SA_IGNORE|SA_CONT, /* SIGCONT */ - SA_IGNORE, /* SIGCHLD */ - SA_STOP|SA_TTYSTOP, /* SIGTTIN */ - SA_STOP|SA_TTYSTOP, /* SIGTTOU */ - SA_IGNORE, /* SIGIO */ - SA_KILL, /* SIGXCPU */ - SA_KILL, /* SIGXFSZ */ - SA_KILL, /* SIGVTALRM */ - SA_KILL, /* SIGPROF */ - SA_IGNORE, /* SIGWINCH */ - SA_IGNORE, /* SIGINFO */ - SA_KILL, /* SIGUSR1 */ - SA_KILL, /* SIGUSR2 */ + SIGPROP_KILL, /* SIGHUP */ + SIGPROP_KILL, /* SIGINT */ + SIGPROP_KILL | SIGPROP_CORE, /* SIGQUIT */ + SIGPROP_KILL | SIGPROP_CORE, /* SIGILL */ + SIGPROP_KILL | SIGPROP_CORE, /* SIGTRAP */ + SIGPROP_KILL | SIGPROP_CORE, /* SIGABRT */ + SIGPROP_KILL | SIGPROP_CORE, /* SIGEMT */ + SIGPROP_KILL | SIGPROP_CORE, /* SIGFPE */ + SIGPROP_KILL, /* SIGKILL */ + SIGPROP_KILL | SIGPROP_CORE, /* SIGBUS */ + SIGPROP_KILL | SIGPROP_CORE, /* SIGSEGV */ + SIGPROP_KILL | SIGPROP_CORE, /* SIGSYS */ + SIGPROP_KILL, /* SIGPIPE */ + SIGPROP_KILL, /* SIGALRM */ + SIGPROP_KILL, /* SIGTERM */ + SIGPROP_IGNORE, /* SIGURG */ + SIGPROP_STOP, /* SIGSTOP */ + SIGPROP_STOP | SIGPROP_TTYSTOP, /* SIGTSTP */ + SIGPROP_IGNORE | SIGPROP_CONT, /* SIGCONT */ + SIGPROP_IGNORE, /* SIGCHLD */ + SIGPROP_STOP | SIGPROP_TTYSTOP, /* SIGTTIN */ + SIGPROP_STOP | SIGPROP_TTYSTOP, /* SIGTTOU */ + SIGPROP_IGNORE, /* SIGIO */ + SIGPROP_KILL, /* SIGXCPU */ + SIGPROP_KILL, /* SIGXFSZ */ + SIGPROP_KILL, /* SIGVTALRM */ + SIGPROP_KILL, /* SIGPROF */ + SIGPROP_IGNORE, /* SIGWINCH */ + SIGPROP_IGNORE, /* SIGINFO */ + SIGPROP_KILL, /* SIGUSR1 */ + SIGPROP_KILL, /* SIGUSR2 */ }; static void reschedule_signals(struct proc *p, sigset_t block, int flags); @@ -755,7 +755,7 @@ kern_sigaction(struct thread *td, int si * have to restart the process. */ if (ps->ps_sigact[_SIG_IDX(sig)] == SIG_IGN || - (sigprop(sig) & SA_IGNORE && + (sigprop(sig) & SIGPROP_IGNORE && ps->ps_sigact[_SIG_IDX(sig)] == SIG_DFL)) { /* never to be seen again */ sigqueue_delete_proc(p, sig); @@ -923,7 +923,7 @@ siginit(p) ps = p->p_sigacts; mtx_lock(&ps->ps_mtx); for (i = 1; i <= NSIG; i++) { - if (sigprop(i) & SA_IGNORE && i != SIGCONT) { + if (sigprop(i) & SIGPROP_IGNORE && i != SIGCONT) { SIGADDSET(ps->ps_sigignore, i); } } @@ -940,7 +940,7 @@ sigdflt(struct sigacts *ps, int sig) mtx_assert(&ps->ps_mtx, MA_OWNED); SIGDELSET(ps->ps_sigcatch, sig); - if ((sigprop(sig) & SA_IGNORE) != 0 && sig != SIGCONT) + if ((sigprop(sig) & SIGPROP_IGNORE) != 0 && sig != SIGCONT) SIGADDSET(ps->ps_sigignore, sig); ps->ps_sigact[_SIG_IDX(sig)] = SIG_DFL; SIGDELSET(ps->ps_siginfo, sig); @@ -969,7 +969,7 @@ execsigs(struct proc *p) while (SIGNOTEMPTY(ps->ps_sigcatch)) { sig = sig_ffs(&ps->ps_sigcatch); sigdflt(ps, sig); - if ((sigprop(sig) & SA_IGNORE) != 0) + if ((sigprop(sig) & SIGPROP_IGNORE) != 0) sigqueue_delete_proc(p, sig); } @@ -2154,16 +2154,16 @@ tdsendsignal(struct proc *p, struct thre intrval = ERESTART; mtx_unlock(&ps->ps_mtx); - if (prop & SA_CONT) + if (prop & SIGPROP_CONT) sigqueue_delete_stopmask_proc(p); - else if (prop & SA_STOP) { + else if (prop & SIGPROP_STOP) { /* * If sending a tty stop signal to a member of an orphaned * process group, discard the signal here if the action * is default; don't stop the process below if sleeping, * and don't clear any pending SIGCONT. */ - if ((prop & SA_TTYSTOP) && + if ((prop & SIGPROP_TTYSTOP) && (p->p_pgrp->pg_jobc == 0) && (action == SIG_DFL)) { if (ksi && (ksi->ksi_flags & KSI_INS)) @@ -2188,7 +2188,7 @@ tdsendsignal(struct proc *p, struct thre * except that stopped processes must be continued by SIGCONT. */ if (action == SIG_HOLD && - !((prop & SA_CONT) && (p->p_flag & P_STOPPED_SIG))) + !((prop & SIGPROP_CONT) && (p->p_flag & P_STOPPED_SIG))) return (ret); /* * SIGKILL: Remove procfs STOPEVENTs and ptrace events. @@ -2228,7 +2228,7 @@ tdsendsignal(struct proc *p, struct thre goto runfast; } - if (prop & SA_CONT) { + if (prop & SIGPROP_CONT) { /* * If traced process is already stopped, * then no further action is necessary. @@ -2278,7 +2278,7 @@ tdsendsignal(struct proc *p, struct thre goto out; } - if (prop & SA_STOP) { + if (prop & SIGPROP_STOP) { /* * If traced process is already stopped, * then no further action is necessary. @@ -2325,7 +2325,7 @@ tdsendsignal(struct proc *p, struct thre MPASS(action == SIG_DFL); - if (prop & SA_STOP) { + if (prop & SIGPROP_STOP) { if (p->p_flag & (P_PPWAIT|P_WEXIT)) goto out; p->p_flag |= P_STOPPED_SIG; @@ -2394,7 +2394,7 @@ tdsigwakeup(struct thread *td, int sig, * priority of the idle thread, since we still allow to signal * kernel processes. */ - if (action == SIG_DFL && (prop & SA_KILL) != 0 && + if (action == SIG_DFL && (prop & SIGPROP_KILL) != 0 && td->td_priority > PUSER && !TD_IS_IDLETHREAD(td)) sched_prio(td, PUSER); if (TD_ON_SLEEPQ(td)) { @@ -2411,7 +2411,7 @@ tdsigwakeup(struct thread *td, int sig, * asleep, we are finished; the process should not * be awakened. */ - if ((prop & SA_CONT) && action == SIG_DFL) { + if ((prop & SIGPROP_CONT) && action == SIG_DFL) { thread_unlock(td); PROC_SUNLOCK(p); sigqueue_delete(&p->p_sigqueue, sig); @@ -2427,7 +2427,7 @@ tdsigwakeup(struct thread *td, int sig, * Don't awaken a sleeping thread for SIGSTOP if the * STOP signal is deferred. */ - if ((prop & SA_STOP) != 0 && (td->td_flags & (TDF_SBDRY | + if ((prop & SIGPROP_STOP) != 0 && (td->td_flags & (TDF_SBDRY | TDF_SERESTART | TDF_SEINTR)) == TDF_SBDRY) goto out; @@ -2858,10 +2858,10 @@ issignal(struct thread *td) * if process is member of an orphaned * process group, ignore tty stop signals. */ - if (prop & SA_STOP) { + if (prop & SIGPROP_STOP) { if (p->p_flag & (P_TRACED|P_WEXIT) || (p->p_pgrp->pg_jobc == 0 && - prop & SA_TTYSTOP)) + prop & SIGPROP_TTYSTOP)) break; /* == ignore */ if (TD_SBDRY_INTR(td)) { KASSERT((td->td_flags & TDF_SBDRY) != 0, @@ -2881,7 +2881,7 @@ issignal(struct thread *td) PROC_SUNLOCK(p); mtx_lock(&ps->ps_mtx); goto next; - } else if (prop & SA_IGNORE) { + } else if (prop & SIGPROP_IGNORE) { /* * Except for SIGCONT, shouldn't get here. * Default action is to ignore; drop it. @@ -2897,7 +2897,7 @@ issignal(struct thread *td) * to take action on an ignored signal other * than SIGCONT, unless process is traced. */ - if ((prop & SA_CONT) == 0 && + if ((prop & SIGPROP_CONT) == 0 && (p->p_flag & P_TRACED) == 0) printf("issignal\n"); break; /* == ignore */ @@ -3059,7 +3059,8 @@ sigexit(td, sig) * XXX If another thread attempts to single-thread before us * (e.g. via fork()), we won't get a dump at all. */ - if ((sigprop(sig) & SA_CORE) && thread_single(p, SINGLE_NO_EXIT) == 0) { + if ((sigprop(sig) & SIGPROP_CORE) && + thread_single(p, SINGLE_NO_EXIT) == 0) { p->p_sig = sig; /* * Log signals which would cause core dumps