From nobody Thu Dec 18 07:13:47 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9905CC2BB3F for ; Mon, 20 Nov 2023 22:15:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232301AbjKTWPU (ORCPT ); Mon, 20 Nov 2023 17:15:20 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38436 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229577AbjKTWPS (ORCPT ); Mon, 20 Nov 2023 17:15:18 -0500 Received: from out-171.mta0.migadu.com (out-171.mta0.migadu.com [91.218.175.171]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E00AC95 for ; Mon, 20 Nov 2023 14:15:13 -0800 (PST) X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1700518511; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=eAV0U0mLkg/3ylSYaE6a69rqhR2UGGa2kQaKBkZ2jZw=; b=EVUmn3+MsuT4bi/Wnd+U6PyJ/buLTs5xg27GpRI8RlF4u0lOjFHvYFFgroHRxc0r3Qvt8W niMi6XLGqm13R3htx0KcdBz7hI0yDDqvtwP0zarbV6ChcOfCmbCPVi2puncsOLJ7natqDA uMQPuUX54rTQgKxu9oeU/1UwaA38u9w= From: Kent Overstreet To: linux-kernel@vger.kernel.org Cc: Kent Overstreet , Nicholas Piggin , Mike Christie , Zqiang , Petr Mladek Subject: [PATCH] kthread: kthread_should_stop() checks if we're a kthread Date: Mon, 20 Nov 2023 17:15:03 -0500 Message-ID: <20231120221503.3378095-1-kent.overstreet@linux.dev> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" bcachefs has a fair amount of code that may or may not be running from a kthread (it may instead be called by a userspace ioctl); having kthread_should_stop() check if we're a kthread enables a fair bit of cleanup and makes it safer to use. Cc: Nicholas Piggin Cc: Mike Christie Cc: Zqiang Cc: Petr Mladek Signed-off-by: Kent Overstreet --- kernel/kthread.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kernel/kthread.c b/kernel/kthread.c index 1eea53050bab..fe6090ddf414 100644 --- a/kernel/kthread.c +++ b/kernel/kthread.c @@ -155,7 +155,8 @@ void free_kthread_struct(struct task_struct *k) */ bool kthread_should_stop(void) { - return test_bit(KTHREAD_SHOULD_STOP, &to_kthread(current)->flags); + return (current->flags & PF_KTHREAD) && + test_bit(KTHREAD_SHOULD_STOP, &to_kthread(current)->flags); } EXPORT_SYMBOL(kthread_should_stop); =20 --=20 2.42.0