Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp12376imm; Tue, 10 Jul 2018 19:47:38 -0700 (PDT) X-Google-Smtp-Source: AAOMgpcwCBBieMrRoYfHrhfkXti6ikDif0JJ+pvBur1tMaCTDPNjYtD00sKHcG/qOrOAcZ7LKiGq X-Received: by 2002:a62:5cc1:: with SMTP id q184-v6mr5954915pfb.241.1531277258070; Tue, 10 Jul 2018 19:47:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1531277258; cv=none; d=google.com; s=arc-20160816; b=D5LQqQYREH5m/kGUnqmS7fGuR7EujQnIuAFGo1a60QK9Qk8FRxUcJc7vKgJ46pgFEL nS3uiNZMswJIkg6cA3hCslOnFpjSSwnamC8HgvFjMNNcgdsYySfQ88VhWC5V9GnYomsG +3qG96DQE3mYF5GcFCmoQY2O+v4N/QBy9R487I3l4BJlvydQGqJ/GRdU+3GvZuXCe5wT a65a8i+gdIiCZydSOKIwfZfR7FaNS6mA3E3pH3xxGdiUYgdgBXo4zSjx1pIEpNnPjWM+ bOu6fxkAijUjXqwb6FXz1xhzjFDRQbZu5iMO/LemxSSgta/7Ts5v5kzQaDhlnpZu2e1b o+WA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:subject:references:in-reply-to:message-id :date:cc:to:from:arc-authentication-results; bh=UVkpC02F1t9N2H9ozqWsmjXHl+bHiqxKcDMCQxEU0o0=; b=EOKKYVd9EUiHn3GQMi78wRYwt3CTfeDZrRFUq7Ko75ICAOLYXYIFY3paTVmVrkoBM1 J3bgjyx99m77xdmFa8gp9tFZUn8P3UX7j8HFuK40nLE6U0nkHMOOz9CEHbsAy4HM0bEH /BxMqDaa6qfJgn00lCwVrKfcxpjP/ty054UDe9XwfzEOl9dMOK8gA23lDmBBCrk9YbEM n8gjzhWkT365G0orZLYJQxk7MfgPdKGZqfYd4dMMiphKoNlRIIVR6U2bZfDXN8YsjFcz v/1y/da+4B/83Z+8bG2aBrnMIm3HJ8AB+Em/dvJRGh0TDOn8gsOKCl3dm05b+hRQ2lK1 KW+g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s10-v6si4576791plq.32.2018.07.10.19.47.22; Tue, 10 Jul 2018 19:47:38 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732562AbeGKCsc (ORCPT + 99 others); Tue, 10 Jul 2018 22:48:32 -0400 Received: from out01.mta.xmission.com ([166.70.13.231]:40175 "EHLO out01.mta.xmission.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732484AbeGKCsb (ORCPT ); Tue, 10 Jul 2018 22:48:31 -0400 Received: from in01.mta.xmission.com ([166.70.13.51]) by out01.mta.xmission.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.87) (envelope-from ) id 1fd59B-0001AF-Fa; Tue, 10 Jul 2018 20:46:29 -0600 Received: from [97.119.167.31] (helo=x220.int.ebiederm.org) by in01.mta.xmission.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.87) (envelope-from ) id 1fd599-00063R-RO; Tue, 10 Jul 2018 20:46:29 -0600 From: "Eric W. Biederman" To: Linus Torvalds Cc: Oleg Nesterov , Andrew Morton , linux-kernel@vger.kernel.org, Wen Yang , majiang , "Eric W. Biederman" Date: Tue, 10 Jul 2018 21:44:55 -0500 Message-Id: <20180711024459.10654-7-ebiederm@xmission.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <877em2jxyr.fsf_-_@xmission.com> References: <877em2jxyr.fsf_-_@xmission.com> X-XM-SPF: eid=1fd599-00063R-RO;;;mid=<20180711024459.10654-7-ebiederm@xmission.com>;;;hst=in01.mta.xmission.com;;;ip=97.119.167.31;;;frm=ebiederm@xmission.com;;;spf=neutral X-XM-AID: U2FsdGVkX1++bhn549EXEP1yIIyJKthVzpN4/B615i0= X-SA-Exim-Connect-IP: 97.119.167.31 X-SA-Exim-Mail-From: ebiederm@xmission.com X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa06.xmission.com X-Spam-Level: *** X-Spam-Status: No, score=3.5 required=8.0 tests=ALL_TRUSTED,BAYES_50, DCC_CHECK_NEGATIVE,TR_Symld_Words,T_TooManySym_01,XMNoVowels,XMSubLong autolearn=disabled version=3.4.1 X-Spam-Report: * -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP * 1.5 TR_Symld_Words too many words that have symbols inside * 1.5 XMNoVowels Alpha-numberic number with no vowels * 0.7 XMSubLong Long Subject * 0.8 BAYES_50 BODY: Bayes spam probability is 40 to 60% * [score: 0.5000] * -0.0 DCC_CHECK_NEGATIVE Not listed in DCC * [sa06 1397; Body=1 Fuz1=1 Fuz2=1] * 0.0 T_TooManySym_01 4+ unique symbols in subject X-Spam-DCC: XMission; sa06 1397; Body=1 Fuz1=1 Fuz2=1 X-Spam-Combo: ***;Linus Torvalds X-Spam-Relay-Country: X-Spam-Timing: total 1210 ms - load_scoreonly_sql: 0.04 (0.0%), signal_user_changed: 5 (0.4%), b_tie_ro: 3.4 (0.3%), parse: 1.04 (0.1%), extract_message_metadata: 12 (1.0%), get_uri_detail_list: 1.77 (0.1%), tests_pri_-1000: 6 (0.5%), tests_pri_-950: 1.30 (0.1%), tests_pri_-900: 1.01 (0.1%), tests_pri_-400: 23 (1.9%), check_bayes: 21 (1.8%), b_tokenize: 10 (0.8%), b_tok_get_all: 5 (0.4%), b_comp_prob: 2.2 (0.2%), b_tok_touch_all: 2.2 (0.2%), b_finish: 0.63 (0.1%), tests_pri_0: 1151 (95.2%), check_dkim_signature: 0.51 (0.0%), check_dkim_adsp: 3.0 (0.3%), tests_pri_500: 5 (0.4%), rewrite_mail: 0.00 (0.0%) Subject: [RFC][PATCH 07/11] signal: Deliver group signals via PIDTYPE_TGID not PIDTYPE_PID X-Spam-Flag: No X-SA-Exim-Version: 4.2.1 (built Thu, 05 May 2016 13:38:54 -0600) X-SA-Exim-Scanned: Yes (on in01.mta.xmission.com) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Now that we can make the distinction use PIDTYPE_TGID rather than PIDTYPE_PID. There is no immediate effect as they point point at the same task, but this allows using enum pid_type instead of bool group in the signal sending functions. Signed-off-by: "Eric W. Biederman" --- kernel/signal.c | 4 ++-- kernel/time/posix-timers.c | 7 +++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/kernel/signal.c b/kernel/signal.c index 8d8a940422a8..7caf17d76a84 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -1315,7 +1315,7 @@ int kill_pid_info(int sig, struct siginfo *info, struct pid *pid) for (;;) { rcu_read_lock(); - p = pid_task(pid, PIDTYPE_PID); + p = pid_task(pid, PIDTYPE_TGID); if (p) error = group_send_sig_info(sig, info, p); rcu_read_unlock(); @@ -1361,7 +1361,7 @@ int kill_pid_info_as_cred(int sig, struct siginfo *info, struct pid *pid, return ret; rcu_read_lock(); - p = pid_task(pid, PIDTYPE_PID); + p = pid_task(pid, PIDTYPE_TGID); if (!p) { ret = -ESRCH; goto out_unlock; diff --git a/kernel/time/posix-timers.c b/kernel/time/posix-timers.c index e08ce3f27447..d640e26d0de0 100644 --- a/kernel/time/posix-timers.c +++ b/kernel/time/posix-timers.c @@ -347,12 +347,11 @@ int posix_timer_event(struct k_itimer *timr, int si_private) */ timr->sigq->info.si_sys_private = si_private; + shared = !(timr->it_sigev_notify & SIGEV_THREAD_ID); rcu_read_lock(); - task = pid_task(timr->it_pid, PIDTYPE_PID); - if (task) { - shared = !(timr->it_sigev_notify & SIGEV_THREAD_ID); + task = pid_task(timr->it_pid, shared ? PIDTYPE_TGID : PIDTYPE_PID); + if (task) ret = send_sigqueue(timr->sigq, task, shared); - } rcu_read_unlock(); /* If we failed to send the signal the timer stops. */ return ret > 0; -- 2.17.1