From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel-dk.20230601.gappssmtp.com header.i=@kernel-dk.20230601.gappssmtp.com header.b="I6I3HXCK" Received: from mail-yw1-x112b.google.com (mail-yw1-x112b.google.com [IPv6:2607:f8b0:4864:20::112b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C16A0C0 for ; Sun, 3 Dec 2023 18:14:15 -0800 (PST) Received: by mail-yw1-x112b.google.com with SMTP id 00721157ae682-5b4e3284e68so5185637b3.1 for ; Sun, 03 Dec 2023 18:14:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel-dk.20230601.gappssmtp.com; s=20230601; t=1701656055; x=1702260855; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=388DnSOOl0dwCbXab02Ex4X5WwZLrBD/+hKfrfZ6LKo=; b=I6I3HXCKIyKq8eZyLsdgMqlcab3at3QRIDnOisTcfBigDotD30CBJJent1GrVw1FzO 96BTl0n79ToD2MASNnU9aJitDqB9LknN3YboGn9hYn+xEaTI0Ne0aH8MlY/u13r35kcW /dXinOp/K0CEMN2xOFYS5dRKo657MXl1wPMwHDIbcc9lxH8Pc9LolYjR5XG3FpZWGPIE jRA9P27orVYj0S6dmshwGcy30dRb85tUCDENQT/h7vpi4d/NcUD6QUR496LSqH/cKFlI 83ZztWc1wyawn5pFe+Qh0UHc3mbkRo+EhYf3PxFU3LQIHOjdq5CfnddtHfFv15tfyo6W V6tg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701656055; x=1702260855; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=388DnSOOl0dwCbXab02Ex4X5WwZLrBD/+hKfrfZ6LKo=; b=glrqESsZCNrBxMltuRmBh6u7u5jbQrA888u6mGmKeTQi+Z5eFwgkaq5JUdARm+bxx+ 3M5qYAXmAWRAg6ak+V7ja7n+ylRLu2xOaokOzHSTbLPD9rLgoVyyZdld6FWxxoQCN+Fj ZENNTuAnqvC/VmmvZJFa+NcCOo7dimUPD7GrfB0gtkJJFgNKGCN2KQV7Ixs7AyhbVAHT 0pkl7us9bCpd6c88EOTtsniwy77Cllix6+G2ftW0PoevWAg3jkxGuir/RRy/Z1pP5Xjz BGAVBGiEQUVlBIMxDMLacYVFb3nuWfciWDuPKtmyZiHnqCwcXRn0amPGpw2w+ZNaWi0G IWIQ== X-Gm-Message-State: AOJu0YxZxoawF/MP25QplU9pvTskRp7FS+zVe6sIUKA1HV0Bvz+H3G4S H4Dl9QufrrfIGVf6FT3eYmcxYg== X-Google-Smtp-Source: AGHT+IFcNWA+eNuaKGM1iJBwEifJAMmJ6R7Kp8kjw7jQPXUFTpog7ShcxdvqW3FEv8diKT/ZtjkVHg== X-Received: by 2002:a0d:d68d:0:b0:5d4:1d55:b677 with SMTP id y135-20020a0dd68d000000b005d41d55b677mr5218306ywd.5.1701656054802; Sun, 03 Dec 2023 18:14:14 -0800 (PST) Received: from [172.19.131.145] ([216.250.210.88]) by smtp.gmail.com with ESMTPSA id w20-20020a0ce114000000b0067ac5a570aesm620392qvk.109.2023.12.03.18.14.04 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 03 Dec 2023 18:14:14 -0800 (PST) Message-ID: Date: Sun, 3 Dec 2023 19:13:56 -0700 Precedence: bulk X-Mailing-List: linux-nfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 1/2] Allow a kthread to declare that it calls task_work_run() Content-Language: en-US To: NeilBrown , Al Viro , Christian Brauner , Oleg Nesterov , Chuck Lever , Jeff Layton , Ingo Molnar , Peter Zijlstra , Juri Lelli , Vincent Guittot Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-nfs@vger.kernel.org References: <20231204014042.6754-1-neilb@suse.de> <20231204014042.6754-2-neilb@suse.de> From: Jens Axboe In-Reply-To: <20231204014042.6754-2-neilb@suse.de> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 12/3/23 6:36 PM, NeilBrown wrote: > diff --git a/fs/namespace.c b/fs/namespace.c > index e157efc54023..46d640b70ca9 100644 > --- a/fs/namespace.c > +++ b/fs/namespace.c > @@ -1328,7 +1328,7 @@ static void mntput_no_expire(struct mount *mnt) > > if (likely(!(mnt->mnt.mnt_flags & MNT_INTERNAL))) { > struct task_struct *task = current; > - if (likely(!(task->flags & PF_KTHREAD))) { > + if (likely((task->flags & PF_RUNS_TASK_WORK))) { Extraneous parens here. > diff --git a/kernel/task_work.c b/kernel/task_work.c > index 95a7e1b7f1da..aec19876e121 100644 > --- a/kernel/task_work.c > +++ b/kernel/task_work.c > @@ -183,3 +183,4 @@ void task_work_run(void) > } while (work); > } > } > +EXPORT_SYMBOL(task_work_run); If we're exporting this, then I think that function needs a big disclaimer on exactly when it is safe to call it. And it most certainly needs to be a _GPL export. -- Jens Axboe