From mboxrd@z Thu Jan 1 00:00:00 1970 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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id BE14CC83F1A for ; Fri, 11 Jul 2025 10:36:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5CAA56B009E; Fri, 11 Jul 2025 06:36:06 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 57B8B6B00A1; Fri, 11 Jul 2025 06:36:06 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 491616B00A2; Fri, 11 Jul 2025 06:36:06 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 3ACCD6B009E for ; Fri, 11 Jul 2025 06:36:06 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id D626380421 for ; Fri, 11 Jul 2025 10:36:05 +0000 (UTC) X-FDA: 83651628690.25.CA8B2EA Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) by imf13.hostedemail.com (Postfix) with ESMTP id EB2C02000D for ; Fri, 11 Jul 2025 10:36:03 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=linutronix.de header.s=2020 header.b=v7730XHH; dkim=pass header.d=linutronix.de header.s=2020e header.b=8OEp1y+H; spf=pass (imf13.hostedemail.com: domain of t-8ch@linutronix.de designates 193.142.43.55 as permitted sender) smtp.mailfrom=t-8ch@linutronix.de; dmarc=pass (policy=none) header.from=linutronix.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1752230164; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=H6Re+znlFWFKIuewW27SgxsH0E2fzm5oXpRQWBOP5J8=; b=ssfPijAtfqwoNx7ClF2wOAftmF97rg7rX572vJUL39MJE7lBDroDXwr+EU9icmlN3eueEa nzV8Se3Uv6nz0+RPvbaUnTYu6SK0WNIpxLfQf/EcEnP2AFu+ewIwVxyjhf8BENqGcdM7Gg bY2A42DLtkjL9pCs7sYweyAU9QyWmxI= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=linutronix.de header.s=2020 header.b=v7730XHH; dkim=pass header.d=linutronix.de header.s=2020e header.b=8OEp1y+H; spf=pass (imf13.hostedemail.com: domain of t-8ch@linutronix.de designates 193.142.43.55 as permitted sender) smtp.mailfrom=t-8ch@linutronix.de; dmarc=pass (policy=none) header.from=linutronix.de ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1752230164; a=rsa-sha256; cv=none; b=2sMqJ7ja+IpvhPMaMmZuMDt6flmHKtUjCRbRR1iyCfokknTqQSK8btXNR3p9ohCnvHIVgF qfoZIpBDLMFzOWwkRRMtlBRwt51AEmJGD33KMW3TUh3lsLCrZ9X030D7B51MqP68O612Nv yQp4EX9JFO2K6vP1adpAyI80hrPA1UY= Date: Fri, 11 Jul 2025 12:35:59 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1752230161; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=H6Re+znlFWFKIuewW27SgxsH0E2fzm5oXpRQWBOP5J8=; b=v7730XHHRGASv5D6RRpeIPQ4cWgk+MIZmHXBguF0Vl1t9v/NNqpm7qCp5nz/TvlNoxRcJ3 4mcEuLQjHUOu6+IK0G2C1c9Rbv/fHO6O6lMyf3NKkUuiFoVUnI/1mi2F12ay5RZ7asljSY 5040kOeoe4djDkcE709DAA9XfI2h4bwMUcONepsUsVzfebC9UrWwvvKmSLjsCNe2Tz8qaL FkiTGpSp9SAAfNp9gYTXJhkm2PnI7mdSNYx5yOHkFDkHxEt/petgkMbR38Xad2TmLf7fVA 2txyX9MaItZQJWsqjmEYtd9u5rgf5GW48zEmM7rh08M1ZhRbujN/uZNer/qSpw== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1752230161; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=H6Re+znlFWFKIuewW27SgxsH0E2fzm5oXpRQWBOP5J8=; b=8OEp1y+HSks3ZRmCw01UTTXmczBO9aCAbcAivWhq4aTZ4DkcEb0M9k3Qzeqq/2aUULV+Nc yx0+XKoduPxA1NDQ== From: Thomas =?utf-8?Q?Wei=C3=9Fschuh?= To: Kees Cook , Alexander Viro , Christian Brauner , Jan Kara , linux-mm@kvack.org, linux-fsdevel@vger.kernel.org Cc: linux-kernel@vger.kernel.org Subject: Re: [PATCH v4 06/15] fs,fork,exit: export symbols necessary for KUnit UAPI support Message-ID: <20250711123215-12326d5f-928c-40cd-8553-478859d9ed18@linutronix.de> References: <20250626-kunit-kselftests-v4-0-48760534fef5@linutronix.de> <20250626-kunit-kselftests-v4-6-48760534fef5@linutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20250626-kunit-kselftests-v4-6-48760534fef5@linutronix.de> X-Rspam-User: X-Rspamd-Queue-Id: EB2C02000D X-Rspamd-Server: rspam09 X-Stat-Signature: ofk6x8xq1p75chzmsn5559wa3pewnomk X-HE-Tag: 1752230163-360265 X-HE-Meta: U2FsdGVkX1+9DA689FlZjdLEBzRErssYWrDbDFVhM9TK2Kt57Q4vYb12Cu11Kg84/WuEA91r2sMyoA/8sX6sS4XYqR3Rvek5z/IrQFxNPKaEDvH3OeWLdlmzowr/kHMkvSsDRJ9nBjFteElZNfEDtSj/nxadwIPaGmJm/yxYpnvFdwZt2WcncTVlY5oj3cVIOIbxKImS5Ih08FYAGnIhFd+bGLu1xOAvjDgOgOQYYuLONPVo9H5etEKOantk3GnNKr6Ut+aGLwfOo2sM35z3d+8MsvMaiTbuq3/Zwr1tKgBbgJb2eJVfGwI6iovd2XfKS/PFlvZn8WHgLvghoUwdjQyO3G6VeVlUyeoIuOb2jdkX6NhOb2HDtDRwzGfFvw1H+ro25oEu6IYzQAVf3C1wZQ+bC1Ife+EH5m7YEG4P7KK3IVYBTO1zqeJOpkBRYS3EGx96JNOSzh1aEsfFFB4/BO8HEwSlkq5lc3DdqjZNWAiWeyuiJupCxEQEIuxm4Y0IUoAkKKiBJzDHglCCBOWSDoVVJdw7ignEki0rMNYv7g04qGoVXdrJ6AyQFeSW0PK1QoPrpoH3cHy2pTsNn38vfVzesFTCKgbU8lvKpUmTJziketZ+4CISujH+pvXGr6R98Xc2xFotoYj3eB0Ja9tzaSL1XCR9vcCKGNKdljQPYip/gIE7W12EgrSa6qhOPcdO/wjABytbRSSt+xx11XybkvXOfgJXyc5kB5q1w9HNArN/x+JlEREOi7w8PRVVhgfY0xDxmYvqsrVwPcqpVdPg+MoY2yUZgEwFLEEN8OG/d8mk3bGlNTuMfllVC63kNTBAK7RvDfvsRY/zxNdELNJpUp3cee5mssgpIqpoRJAMiO2U7kzxoz+N+1dyuabF1VjRIrNBTcqf/8gkEV6Y3zbT5F5pgdVls/5zajJNLOC54azBPgRVec6wKpo6dixvwLas8HMgQ47B2nUWvLd/8R3 g3b6TZ5L gd4mtQowsXCfz8Ru/hj5WmpKZE7s8QxXWG1TleE2ejdB48Wr5RgyiG04mimYPe5vqhqzKF3XbgmrzUMgVfqhK83kAgzmHfpY7DcF2Hvx08MVaawI04bG+ca02C1hADdpWFHoePldopDS9PoW0vNWl0FjpLwURg9HfV7bVj7aDq0/SGcEM5wYpUWHt4N/+eHmT2X/qlTI6Mshl2Kx3nFBWZxUjfOJwy2ioYcryQjdbzdegs6jTK+fq9zWv7Hn8Iyg+4knLIL3GM0o4X7AR9XW4ImggTDuk1/NKwB8Z7kTETZF4WcZyNp91AW9SxaGBOCBj4gZjfenDbWI2n1cRkZ/tjF10Qyru5GpkN9A2b/TmpnG8Ngqdgvur4euDFsFsA3nUl36Bvo5C9o79BCieNUFXMs7zfHJuaT8ElgWZoBxowWCy1dmO5Nl8oQMtMh+6eUiJICReqkkJlOASGbgUCR7t//tvS6RhjAXd4tjqWvzE2KkldbzxB7J4jqyeEy0JWT+/JHo+segBqxcCca8V44yA8Gf1ukh5jEPFkZfJg4M6tbG0qIATyxc9XPWMEnKNaL94i5bmHOR9hC/Nm+ex+YHq/laQO8od56PUNhqplSz24ilAsKA= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Hi Kees, Al, Christian and Honza, On Thu, Jun 26, 2025 at 08:10:14AM +0200, Thomas Weißschuh wrote: > The KUnit UAPI infrastructure starts userspace processes. > As it should be able to be built as a module, export the necessary symbols. could you take a look at these new symbol exports? Thanks, Thomas > Signed-off-by: Thomas Weißschuh > > --- > To: Kees Cook > To: Alexander Viro > To: Christian Brauner > To: Jan Kara > Cc: linux-mm@kvack.org > Cc: linux-fsdevel@vger.kernel.org > > ./get_maintainer.pl would have also Cc-ed all of the memory management and > scheduler maintainers. I trimmed the list to only BINFMT/EXEC and VFS. > --- > fs/exec.c | 2 ++ > fs/file.c | 1 + > fs/filesystems.c | 2 ++ > fs/fs_struct.c | 1 + > fs/pipe.c | 2 ++ > kernel/exit.c | 3 +++ > kernel/fork.c | 2 ++ > 7 files changed, 13 insertions(+) > > diff --git a/fs/exec.c b/fs/exec.c > index 1f5fdd2e096e392b342f122d35aba4cf035441c7..13f7f27641942eddcb179bdd93d99b799d155813 100644 > --- a/fs/exec.c > +++ b/fs/exec.c > @@ -68,6 +68,7 @@ > #include > #include > #include > +#include > > #include > #include > @@ -1919,6 +1920,7 @@ int kernel_execve(const char *kernel_filename, > putname(filename); > return retval; > } > +EXPORT_SYMBOL_GPL_FOR_MODULES(kernel_execve, "kunit-uapi"); > > static int do_execve(struct filename *filename, > const char __user *const __user *__argv, > diff --git a/fs/file.c b/fs/file.c > index 3a3146664cf37115624e12f7f06826d48827e9d7..89d07feb9c328337451ce40cb0f368b6cb986c2c 100644 > --- a/fs/file.c > +++ b/fs/file.c > @@ -1317,6 +1317,7 @@ int replace_fd(unsigned fd, struct file *file, unsigned flags) > spin_unlock(&files->file_lock); > return err; > } > +EXPORT_SYMBOL_GPL_FOR_MODULES(replace_fd, "kunit-uapi"); > > /** > * receive_fd() - Install received file into file descriptor table > diff --git a/fs/filesystems.c b/fs/filesystems.c > index 95e5256821a53494d88f496193305a2e50e04444..a3a588f387bbd8268246d1026389deaadf265d0b 100644 > --- a/fs/filesystems.c > +++ b/fs/filesystems.c > @@ -17,6 +17,7 @@ > #include > #include > #include > +#include > > /* > * Handling of filesystem drivers list. > @@ -45,6 +46,7 @@ void put_filesystem(struct file_system_type *fs) > { > module_put(fs->owner); > } > +EXPORT_SYMBOL_GPL_FOR_MODULES(put_filesystem, "kunit-uapi"); > > static struct file_system_type **find_filesystem(const char *name, unsigned len) > { > diff --git a/fs/fs_struct.c b/fs/fs_struct.c > index 64c2d0814ed6889cc12603410e6e9dc44089586f..26340d225deba3f2ec30252293fdf417235a6a4a 100644 > --- a/fs/fs_struct.c > +++ b/fs/fs_struct.c > @@ -46,6 +46,7 @@ void set_fs_pwd(struct fs_struct *fs, const struct path *path) > if (old_pwd.dentry) > path_put(&old_pwd); > } > +EXPORT_SYMBOL_GPL_FOR_MODULES(set_fs_pwd, "kunit-uapi"); > > static inline int replace_path(struct path *p, const struct path *old, const struct path *new) > { > diff --git a/fs/pipe.c b/fs/pipe.c > index 45077c37bad154ef146b047834d35d489fcc4d8d..d6cb743d2cfc041f08b498a5a764e9a96dc34069 100644 > --- a/fs/pipe.c > +++ b/fs/pipe.c > @@ -27,6 +27,7 @@ > #include > #include > #include > +#include > > #include > #include > @@ -971,6 +972,7 @@ int create_pipe_files(struct file **res, int flags) > file_set_fsnotify_mode(res[1], FMODE_NONOTIFY_PERM); > return 0; > } > +EXPORT_SYMBOL_GPL_FOR_MODULES(create_pipe_files, "kunit-uapi"); > > static int __do_pipe_flags(int *fd, struct file **files, int flags) > { > diff --git a/kernel/exit.c b/kernel/exit.c > index bd743900354ca5fc6c550f80e30393a632eb9a4e..610dffb1276ac60b475708587ca053f315fea9c3 100644 > --- a/kernel/exit.c > +++ b/kernel/exit.c > @@ -70,6 +70,7 @@ > #include > #include > #include > +#include > > #include > > @@ -1005,6 +1006,7 @@ void __noreturn do_exit(long code) > lockdep_free_task(tsk); > do_task_dead(); > } > +EXPORT_SYMBOL_GPL_FOR_MODULES(do_exit, "kunit-uapi"); > > void __noreturn make_task_dead(int signr) > { > @@ -1887,6 +1889,7 @@ int kernel_wait(pid_t pid, int *stat) > put_pid(wo.wo_pid); > return ret; > } > +EXPORT_SYMBOL_GPL_FOR_MODULES(kernel_wait, "kunit-uapi"); > > SYSCALL_DEFINE4(wait4, pid_t, upid, int __user *, stat_addr, > int, options, struct rusage __user *, ru) > diff --git a/kernel/fork.c b/kernel/fork.c > index 1ee8eb11f38bae1d2eb6de9494aea94b7a19e6c3..5de7a9bc005ade6dcfbdfe1a63cadbef8782658c 100644 > --- a/kernel/fork.c > +++ b/kernel/fork.c > @@ -105,6 +105,7 @@ > #include > #include > #include > +#include > > #include > #include > @@ -2676,6 +2677,7 @@ pid_t user_mode_thread(int (*fn)(void *), void *arg, unsigned long flags) > > return kernel_clone(&args); > } > +EXPORT_SYMBOL_GPL_FOR_MODULES(user_mode_thread, "kunit-uapi"); > > #ifdef __ARCH_WANT_SYS_FORK > SYSCALL_DEFINE0(fork) > > -- > 2.50.0 >