Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp11087696imu; Thu, 6 Dec 2018 11:18:36 -0800 (PST) X-Google-Smtp-Source: AFSGD/X5fm/SeNRnqIE/7WsIeeMbVFa6cn99H53x/UXAPpVc4Ykjy+FIgq0uT3Qs+uAZiTp6Gnji X-Received: by 2002:a63:ff16:: with SMTP id k22mr25491679pgi.244.1544123916638; Thu, 06 Dec 2018 11:18:36 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544123916; cv=none; d=google.com; s=arc-20160816; b=EiuIu1y4S+IsXNGyA7GcVbeRgBhwg/Mdx+Do6JJLHDNbrixKN1A9lEjxpuTHo7KFAD 8C7p2tJsdoblu1+TImL39Y2+Nybd8gZiKkaI6GtigxeE0oaNktMEK/Z51ihw/Gb4D9dD SPJRQRT+st0sE37bkkssaxKLCdwy50Mt+ylYg7dx+r+WRaLjSlfx3hW2xzWTmCp/rPKF VG0AWt44DeI/vsOSXHaF7DSMl5tIVcVpYodv+PzbiEM2+8ag6fgx9izSSa7iqswbQrv8 noh2l1a3nK9P3d4c5Et1h473onphqQHqbf2ej6XjwFqvt14dHBFc93/fgUPn79OcvvwQ MEfQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:subject:mime-version:user-agent :message-id:in-reply-to:date:references:cc:to:from; bh=S6UkZcUg1yyqM42tPafp6kkgnv4kBNyHQoVBgJ9IUao=; b=mtJCACSlMKm9vTQxtwIT0BeUoUrj0KLttZwqFF1dLRbpV6s7xj3LfxqhflwPfj5Qsv BGpuHbaUyD9Vzls1aKCGDHqS0VYFCGI02SsZh92FSTOhjj1m8X5hTH/4KCmQIqQgsLFY 27gafX05mwKrAHr6FT0jH4Ug8c+Wqzn0UMHoQ8wLe40pqzvc54psJLCDvTFyScDQvSyl PBfvkUGMin/OWWVALFHsCzcU2ym5a7tETj99ttfsm/NLCllcRIAItWVxVCWSabszQ/X0 GWfPOvlgM5FQenEtorQ44G+vP+zsnfqYHOttW3Pq6I/PynaIROJK0otW9fViiv7gCh9+ l8wA== 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=xmission.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 191si840394pgd.228.2018.12.06.11.18.20; Thu, 06 Dec 2018 11:18:36 -0800 (PST) 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=xmission.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725970AbeLFTRl (ORCPT + 99 others); Thu, 6 Dec 2018 14:17:41 -0500 Received: from out01.mta.xmission.com ([166.70.13.231]:35563 "EHLO out01.mta.xmission.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725916AbeLFTRl (ORCPT ); Thu, 6 Dec 2018 14:17:41 -0500 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 1gUz9W-0004kz-5K; Thu, 06 Dec 2018 12:17:38 -0700 Received: from ip68-227-174-240.om.om.cox.net ([68.227.174.240] helo=x220.xmission.com) by in01.mta.xmission.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.87) (envelope-from ) id 1gUz9V-0002Jc-BY; Thu, 06 Dec 2018 12:17:37 -0700 From: ebiederm@xmission.com (Eric W. Biederman) To: Christian Brauner Cc: linux-kernel@vger.kernel.org, linux-api@vger.kernel.org, luto@kernel.org, arnd@arndb.de, serge@hallyn.com, jannh@google.com, akpm@linux-foundation.org, oleg@redhat.com, cyphar@cyphar.com, viro@zeniv.linux.org.uk, linux-fsdevel@vger.kernel.org, dancol@google.com, timmurray@google.com, linux-man@vger.kernel.org, keescook@chromium.org, fweimer@redhat.com, tglx@linutronix.de, x86@kernel.org References: <20181206121858.12215-1-christian@brauner.io> <87sgzahf7k.fsf@xmission.com> Date: Thu, 06 Dec 2018 13:17:24 -0600 In-Reply-To: (Christian Brauner's message of "Fri, 07 Dec 2018 06:14:34 +1300") Message-ID: <875zw6bh2z.fsf@xmission.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-XM-SPF: eid=1gUz9V-0002Jc-BY;;;mid=<875zw6bh2z.fsf@xmission.com>;;;hst=in01.mta.xmission.com;;;ip=68.227.174.240;;;frm=ebiederm@xmission.com;;;spf=neutral X-XM-AID: U2FsdGVkX188A9TKyzRFrtIa1MCJvlVKJVm3UcuiMcU= X-SA-Exim-Connect-IP: 68.227.174.240 X-SA-Exim-Mail-From: ebiederm@xmission.com X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on sa07.xmission.com X-Spam-Level: X-Spam-Status: No, score=0.8 required=8.0 tests=ALL_TRUSTED,BAYES_50, DCC_CHECK_NEGATIVE,T_TM2_M_HEADER_IN_MSG,T_TooManySym_01, T_TooManySym_02,T_XMDrugObfuBody_08 autolearn=disabled version=3.4.2 X-Spam-Report: * -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP * 0.8 BAYES_50 BODY: Bayes spam probability is 40 to 60% * [score: 0.4947] * 0.0 T_TM2_M_HEADER_IN_MSG BODY: No description available. * -0.0 DCC_CHECK_NEGATIVE Not listed in DCC * [sa07 1397; Body=1 Fuz1=1 Fuz2=1] * 1.0 T_XMDrugObfuBody_08 obfuscated drug references * 0.0 T_TooManySym_02 5+ unique symbols in subject * 0.0 T_TooManySym_01 4+ unique symbols in subject X-Spam-DCC: XMission; sa07 1397; Body=1 Fuz1=1 Fuz2=1 X-Spam-Combo: ;Christian Brauner X-Spam-Relay-Country: X-Spam-Timing: total 395 ms - load_scoreonly_sql: 0.04 (0.0%), signal_user_changed: 2.9 (0.7%), b_tie_ro: 1.99 (0.5%), parse: 1.17 (0.3%), extract_message_metadata: 15 (3.8%), get_uri_detail_list: 1.93 (0.5%), tests_pri_-1000: 21 (5.4%), tests_pri_-950: 1.34 (0.3%), tests_pri_-900: 1.10 (0.3%), tests_pri_-90: 28 (7.0%), check_bayes: 26 (6.6%), b_tokenize: 8 (2.0%), b_tok_get_all: 9 (2.4%), b_comp_prob: 2.7 (0.7%), b_tok_touch_all: 3.0 (0.7%), b_finish: 0.60 (0.2%), tests_pri_0: 313 (79.2%), check_dkim_signature: 0.49 (0.1%), check_dkim_adsp: 2.3 (0.6%), poll_dns_idle: 0.26 (0.1%), tests_pri_10: 2.3 (0.6%), tests_pri_500: 6 (1.6%), rewrite_mail: 0.00 (0.0%) Subject: Re: [PATCH v4] signal: add taskfd_send_signal() syscall 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 Christian Brauner writes: > On December 7, 2018 4:01:19 AM GMT+13:00, ebiederm@xmission.com wrote: >>Christian Brauner writes: >> >>> The kill() syscall operates on process identifiers (pid). After a >>process >>> has exited its pid can be reused by another process. If a caller >>sends a >>> signal to a reused pid it will end up signaling the wrong process. >>This >>> issue has often surfaced and there has been a push [1] to address >>this >>> problem. >>> >>> This patch uses file descriptors (fd) from proc/ as stable >>handles on >>> struct pid. Even if a pid is recycled the handle will not change. The >>fd >>> can be used to send signals to the process it refers to. >>> Thus, the new syscall taskfd_send_signal() is introduced to solve >>this >>> problem. Instead of pids it operates on process fds (taskfd). >> >>I am not yet thrilled with the taskfd naming. > > Userspace cares about what does this thing operate on? > It operates on processes and threads. > The most common term people use is "task". > I literally "polled" ten non-kernel people for that purpose and asked: > "What term would you use to refer to a process and a thread?" > Turns out it is task. So if find this pretty apt. > Additionally, the proc manpage uses task in the exact same way (also see the commit message). > If you can get behind that name even if feeling it's not optimal it would be great. Once I understand why threads and not process groups. I don't see that logic yet. >>Is there any plan to support sesssions and process groups? > > I don't see the necessity. > As I said in previous mails: > we can emulate all interesting signal syscalls with this one. I don't know what you mean by all of the interesting signal system calls. I do know you can not replicate kill(2). Sending signals to a process group the "kill(-pgrp)" case with kill sends the signals to an atomic snapshot of processes. If the signal is SIGKILL then it is guaranteed that then entire process group is killed with no survivors. > We succeeded in doing that. I am not certain you have. > No need to get more fancy. > There's currently no obvious need for more features. > Features should be implemented when someone actually needs them. That is fair. I don't understand what you are doing with sending signals to a thread. That seems like one of the least useful corner cases of sending signals. Eric