Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp3270732iob; Sat, 7 May 2022 00:32:12 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxUX3QO2RJPmUxHFzyklJLf06bx5QJjiYO/Gfjz4m06l0II7MNr9M/OcjcVXU/mzFyEgzyF X-Received: by 2002:a05:6870:d691:b0:de:e1b7:8eed with SMTP id z17-20020a056870d69100b000dee1b78eedmr3028175oap.251.1651908731977; Sat, 07 May 2022 00:32:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651908731; cv=none; d=google.com; s=arc-20160816; b=ydVbt5d3Qz7j6vXG7DQFOgMK0ArL1iy7f7YlGQVb7PWzyc0ke+t4Kuy7MK78G6yMl0 IPTvk7b18sEZccOT8OdsdWTyt4T8g7Q0K6CJebu4h16boVnawY5TE+/2SG/6Ae4OcPIP 9A4tZajhRr3jgbkgPCtINT8VQBp2x5ozGaMSGNFTG1LqdROLeoDIhkbsmMK4/2edZJOg p3YO06b2ZhrENJ12BOW6Bl6jJH3zBzuTmtEdcSnpENxIjdXwjfwkdqLSGje0F65ZtseL GJml3AtZQsmMPosOzI9ly7WZSkLNnMiUO4ZR7a+ItKgsWmJfqMuE757/NhAyN4Uy4Aa/ pr8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:subject:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:cc:to:from; bh=lCXZNp3mO/vVd9wTRv/DgfGHSwvmxQsD4x2ZYy1peVU=; b=A3Et9KvdouDzyVuY/dnY+lrvUrfV5o7zgT9fTy5tUdLW5WzgjTmaLZpeNmcdAApWDT /2GlPMRWkDA19NZln9j9hmV0oOsyP9VcjL2vLNbdYhry/vnU5X+tSwpeghVZ6ucYI9PB qKnobIC8Pt7d+4m02QhooK0AoOtdMqaqt+a1Nr8NC4Q4BjvZnKEz4tcd5uPfqclAmn06 XO4riqsJ9YvtaftcoX3T0mrkhbGFNG+nkieA0KOCA7LhxOZVzBKmRqOjmNTsQkHLXUIi j5uOsaZfP+K1jEGDQGru3RfuPZtGEeyK9V8Y4Ra+hD1RDermKEwXfyku+RVGk7okcy92 hXuQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id e67-20020a4a5546000000b003244bc5df23si5050399oob.31.2022.05.07.00.31.54; Sat, 07 May 2022 00:32:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 S1442159AbiEFOTm (ORCPT + 99 others); Fri, 6 May 2022 10:19:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42934 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1442207AbiEFOTe (ORCPT ); Fri, 6 May 2022 10:19:34 -0400 Received: from out01.mta.xmission.com (out01.mta.xmission.com [166.70.13.231]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ECD566928D; Fri, 6 May 2022 07:15:47 -0700 (PDT) Received: from in01.mta.xmission.com ([166.70.13.51]:56172) by out01.mta.xmission.com with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from ) id 1nmykE-007CH6-TV; Fri, 06 May 2022 08:15:46 -0600 Received: from ip68-227-174-4.om.om.cox.net ([68.227.174.4]:37210 helo=localhost.localdomain) by in01.mta.xmission.com with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from ) id 1nmykD-007Cxx-P8; Fri, 06 May 2022 08:15:46 -0600 From: "Eric W. Biederman" To: linux-arch@vger.kernel.org Cc: Tejun Heo , Peter Zijlstra , Vincent Guittot , Al Viro , Jens Axboe , Thomas Gleixner , Linus Torvalds , linux-kernel@vger.kernel.org, "Eric W. Biederman" Date: Fri, 6 May 2022 09:15:11 -0500 Message-Id: <20220506141512.516114-6-ebiederm@xmission.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <87mtfu4up3.fsf@email.froward.int.ebiederm.org> References: <87mtfu4up3.fsf@email.froward.int.ebiederm.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-XM-SPF: eid=1nmykD-007Cxx-P8;;;mid=<20220506141512.516114-6-ebiederm@xmission.com>;;;hst=in01.mta.xmission.com;;;ip=68.227.174.4;;;frm=ebiederm@xmission.com;;;spf=softfail X-XM-AID: U2FsdGVkX1+i6APYhR/pOCN3BklB4+V7ylUJfo+qYO8= X-SA-Exim-Connect-IP: 68.227.174.4 X-SA-Exim-Mail-From: ebiederm@xmission.com X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-DCC: XMission; sa05 1397; Body=1 Fuz1=1 Fuz2=1 X-Spam-Combo: ***;linux-arch@vger.kernel.org X-Spam-Relay-Country: X-Spam-Timing: total 319 ms - load_scoreonly_sql: 0.11 (0.0%), signal_user_changed: 13 (4.1%), b_tie_ro: 11 (3.5%), parse: 1.41 (0.4%), extract_message_metadata: 16 (5.0%), get_uri_detail_list: 1.25 (0.4%), tests_pri_-1000: 18 (5.7%), tests_pri_-950: 1.71 (0.5%), tests_pri_-900: 1.44 (0.5%), tests_pri_-90: 72 (22.6%), check_bayes: 70 (21.9%), b_tokenize: 7 (2.1%), b_tok_get_all: 5 (1.7%), b_comp_prob: 2.1 (0.7%), b_tok_touch_all: 52 (16.3%), b_finish: 1.18 (0.4%), tests_pri_0: 175 (54.6%), check_dkim_signature: 0.64 (0.2%), check_dkim_adsp: 3.2 (1.0%), poll_dns_idle: 1.00 (0.3%), tests_pri_10: 3.9 (1.2%), tests_pri_500: 12 (3.9%), rewrite_mail: 0.00 (0.0%) Subject: [PATCH 6/7] fork: Explicitly set PF_KTHREAD X-SA-Exim-Version: 4.2.1 (built Sat, 08 Feb 2020 21:53:50 +0000) X-SA-Exim-Scanned: Yes (on in01.mta.xmission.com) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Instead of implicitly inheriting PF_KTHREAD from the parent process examine arguments in kernel_clone_args to see if PF_KTHREAD should be set. This makes knowledge of which new threads are kernel threads explicit. This also makes it so that init and the user mode helper processes no longer have PF_KTHREAD set. Signed-off-by: "Eric W. Biederman" --- kernel/fork.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kernel/fork.c b/kernel/fork.c index 8e17c3fbce42..35645f57bd2f 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -2068,6 +2068,9 @@ static __latent_entropy struct task_struct *copy_process( p = dup_task_struct(current, node); if (!p) goto fork_out; + p->flags &= ~PF_KTHREAD; + if (args->kthread) + p->flags |= PF_KTHREAD; if (args->io_thread) { /* * Mark us an IO worker, and block any signal that isn't -- 2.35.3