From nobody Mon Jun 13 19:33:43 2022 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id C0407855609; Mon, 13 Jun 2022 19:33:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4LMMF32jH4z3qLh; Mon, 13 Jun 2022 19:33:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1655148823; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I2h2ZWhyIlxzun9K66fSvbAyO8R2EROW7oB89GflN9A=; b=B0IYTo8StXbjsFRbMtMB6S689cD6oUdWn1v1yocwgrNhp5eG1hd/xgELg+O1bGKZ+nS4+M sRPbVOZ4+rsKHsR3m0MrTMB2MPejk01CeIcSpK62soqDBDM608BeczJOxhfCezzVuXyeKa 5WvdwUSWSUTDFh8QZU9kaElmkGwF8rligAgV79hp+8LeKEI/9BrncKbonv4BOBsTLhlT1S bRPngTIsZmg0Njnkz73H3nAj7Q3jiy1uoYy+Yglfa1UwPOesUykPj/4lh1lBIUJ6qHepF0 TEbFQUQQRy0eSZWKiosZWBWbMIP20lY1kqCOZF3W45vnfzFbgDRIXH4FIzCDjA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 20A0A1BABF; Mon, 13 Jun 2022 19:33:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 25DJXhUP023840; Mon, 13 Jun 2022 19:33:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 25DJXhbv023839; Mon, 13 Jun 2022 19:33:43 GMT (envelope-from git) Date: Mon, 13 Jun 2022 19:33:43 GMT Message-Id: <202206131933.25DJXhbv023839@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 1575804961d2 - main - reap_kill_proc(): avoid singlethreading any other process if we are exiting List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1575804961d2ba1768c9a6b28438d364421718f3 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1655148823; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I2h2ZWhyIlxzun9K66fSvbAyO8R2EROW7oB89GflN9A=; b=m3Fy0EFAYO56dcXrtWimQ7a6WF1yYvHgL44RjRoK4HkbtE5Ynf5GwEDY0lyKtvBhfgcSfN TTwJX+Za3f4VbfCVTmQYauZu5pirCIZT5mu328Wi4ojIwm32KwSWo93fIZCEOp2g+Qi/XR jYeueJ3rrMU9grbjhrIMZYe5TTnstBsLBYW74LjFs2cFHIJGs4paW8u87eTZE+4X4HsLRe NVMJDauvMTj6uMg1wWX7/wIJ+0nHP6JV/qQ/lEs+JLUSyJw/2gWQn3ByW2cUsEa6oA2ObN aVFTtpQxm6o6aZnzFbjg07FT+w9PvT+Xq6p0ZwW+yWs9GO76nHkzGcuVNfw0lA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1655148823; a=rsa-sha256; cv=none; b=wMprP0oFs0I8z6KMC6dKahJ37sKkWu/iY7BoPLVtYAgtTOXMTSixzahWSK8tSMAgtwswda +Zy4yeTuwFGyQ/q3ryX9HApv9NRAOOFyBILOLoyw+erdpsd4UgDJ2X0M3MQ/4r6yYPhuMX eIKQKeLxuuhLJsL6j2y4vxPi0/6uszjWl0qrRBWqtmLbn/ep4T34RCwsKHKKiaYFpBPbrY Ul18b3Hct/pqjKtlwWDcmYnJNhReak96Igd1rN5f3mHBUBdn2iW7nNfRw8+7zwIFdsw2OU 7CX1dnUDdMQ87ct6VUvQsiWQ6AQrhNIWPNtxdVz4U//o4KBrfie0GQi8a2KAzg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=1575804961d2ba1768c9a6b28438d364421718f3 commit 1575804961d2ba1768c9a6b28438d364421718f3 Author: Konstantin Belousov AuthorDate: 2022-05-16 23:47:20 +0000 Commit: Konstantin Belousov CommitDate: 2022-06-13 19:30:03 +0000 reap_kill_proc(): avoid singlethreading any other process if we are exiting This is racy because curproc process lock is not used, but allows the process to exit faster. It is userspace issue to create such race anyway, and not fullfilling the guarantee that all reaper descendants are signalled should be fine. In collaboration with: pho Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D35310 --- sys/kern/kern_procctl.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/kern/kern_procctl.c b/sys/kern/kern_procctl.c index b32a4156dafb..79725686bc44 100644 --- a/sys/kern/kern_procctl.c +++ b/sys/kern/kern_procctl.c @@ -291,6 +291,7 @@ reap_kill_proc_locked(struct thread *td, struct proc *p2, * race. */ need_stop = p2 != td->td_proc && + (td->td_proc->p_flag2 & P2_WEXIT) == 0 && (p2->p_flag & (P_KPROC | P_SYSTEM | P_STOPPED)) == 0 && (rk->rk_flags & REAPER_KILL_CHILDREN) == 0;