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 5B1D3C77B7F for ; Thu, 26 Jun 2025 06:10:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C89368D0005; Thu, 26 Jun 2025 02:10:24 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C62218D0001; Thu, 26 Jun 2025 02:10:24 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B4FB68D0005; Thu, 26 Jun 2025 02:10:24 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id A3FD18D0001 for ; Thu, 26 Jun 2025 02:10:24 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 51D8FC0848 for ; Thu, 26 Jun 2025 06:10:24 +0000 (UTC) X-FDA: 83596527168.29.520241A Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) by imf03.hostedemail.com (Postfix) with ESMTP id 8ADCB20010 for ; Thu, 26 Jun 2025 06:10:22 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=linutronix.de header.s=2020 header.b=lBUemkcT; dkim=pass header.d=linutronix.de header.s=2020e header.b=tO6ZIH+h; dmarc=pass (policy=none) header.from=linutronix.de; spf=pass (imf03.hostedemail.com: domain of t-8ch@linutronix.de designates 193.142.43.55 as permitted sender) smtp.mailfrom=t-8ch@linutronix.de ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750918222; a=rsa-sha256; cv=none; b=oygcLwyBkv0vVU9qCdTy3aUgGOTZgj35CaVsjcquttFwcAUbOKzhEjp9ih+fFf3cK01upd EhRgyfZBAp4R+v/J7y9gZIp27K50fxmMCtmS4wwN7NfY/MvEwFrZnz6MJN0znLGytVyS9X Qa8TxjEE8nvg8oNf41UMIWan0DEIkto= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=linutronix.de header.s=2020 header.b=lBUemkcT; dkim=pass header.d=linutronix.de header.s=2020e header.b=tO6ZIH+h; dmarc=pass (policy=none) header.from=linutronix.de; spf=pass (imf03.hostedemail.com: domain of t-8ch@linutronix.de designates 193.142.43.55 as permitted sender) smtp.mailfrom=t-8ch@linutronix.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750918222; 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=uvxDeHqReCMnKL0ZkklMAI73M6eNLpJ24PnvZxi/D5I=; b=Wh0yTXFLktQiRaJ1Hql2vmdKtHz1nGf8jOwtC32M2fRGQdVmBL5WFc+6yr1yLv1TSseM2m BVbS1Xy/2IYoJ0hHjs8f+CfsWemzZq8e2N9ZVgqY96pvuFiv3i+cv0e5Kj9nnbCKzsDgV/ dAdcqLP65KYcNUdFa8nxUVUccN90tb4= From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1750918221; 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=uvxDeHqReCMnKL0ZkklMAI73M6eNLpJ24PnvZxi/D5I=; b=lBUemkcTrECzCAtqtNXrwears5+/0uqhMeUhAZ8T7iXoRP2CS4hfkRVW69OJqophFMggnx 411UniDm6MMffmuuw49Fbegvvc8AVCl8VhnJVr6HRv2XlwlS4oyt/DlgjBLKgpCvIoLnUe VNTCdBDpJYggwmlSRyvZnFkjueruXuhvD49yvfuQaFf1OWrQr3ftsKdz3bkht09PQV/j+e d425AIC9Lo/v58kWbBmn45RwIHJJvvtbAw423lpQlT/3Bs0pyB/9ls+A/YZnOnZvYF1j2b yJx6HKJv+/MSWJudwZmemNnZslJgTIyQizxNL/EcODHyaMGWAdjqoHMbIzRj5w== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1750918221; 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=uvxDeHqReCMnKL0ZkklMAI73M6eNLpJ24PnvZxi/D5I=; b=tO6ZIH+ht1kx3JfAie1o3QKCp5+JqjvIAYyfRyZSwqxPJvW9/YxiS9bM2e/jztjaQyFg/x 0ClAyqEWHohUBiAw== Date: Thu, 26 Jun 2025 08:10:14 +0200 Subject: [PATCH v4 06/15] fs,fork,exit: export symbols necessary for KUnit UAPI support MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Message-Id: <20250626-kunit-kselftests-v4-6-48760534fef5@linutronix.de> References: <20250626-kunit-kselftests-v4-0-48760534fef5@linutronix.de> In-Reply-To: <20250626-kunit-kselftests-v4-0-48760534fef5@linutronix.de> To: Masahiro Yamada , Nathan Chancellor , Andrew Morton , Willy Tarreau , =?utf-8?q?Thomas_Wei=C3=9Fschuh?= , Brendan Higgins , David Gow , Rae Moar , Shuah Khan , Jonathan Corbet , Nicolas Schier Cc: Christophe Leroy , linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, kunit-dev@googlegroups.com, linux-doc@vger.kernel.org, workflows@vger.kernel.org, =?utf-8?q?Thomas_Wei=C3=9Fschuh?= , Kees Cook , Alexander Viro , Christian Brauner , Jan Kara , linux-mm@kvack.org, linux-fsdevel@vger.kernel.org X-Developer-Signature: v=1; a=ed25519-sha256; t=1750918216; l=5134; i=thomas.weissschuh@linutronix.de; s=20240209; h=from:subject:message-id; bh=sBjfYGI0Ye62nwsuUzArqmK5roAkvp0KfDA11tMTt7M=; b=vrDbmutA8uylluHH9xjOd5CW4G8kx/DVbirsPADi4HdNHbf8GZ+SCKc07p2MdW4kDWDs9XKZi jF6BhMMbyzqCGRSU8X11C2Qv6GxF57woQXwfQI9mbn2dpj5+qiG+U3H X-Developer-Key: i=thomas.weissschuh@linutronix.de; a=ed25519; pk=pfvxvpFUDJV2h2nY0FidLUml22uGLSjByFbM6aqQQws= X-Rspam-User: X-Stat-Signature: wfsqz53qzqbab3dn8emkehaaaq67e9ki X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 8ADCB20010 X-HE-Tag: 1750918222-610933 X-HE-Meta: U2FsdGVkX1+s39gnMmqTwx4yzcU6UQquGqErxkCRxebWeFuJU2Yl9E8YYMDwkChYA0WUKu1DVZH7VlgqtRir+Wwo9ln5ZEKryBZhG6Bn2+TGWBNV5h1722vfWsd82UXnn1unWweWoalXRPuhsiIBJ9DZqZxFJ7U/mvmROK/qapGZoU5/4b9AHOXwtGgND7BpyvdvDVYZ9gqwiPDok8O/aGToXbMU9ulFMQ7lkamkdNyW71+hJTNt4WT44SK2MqN1CoRKZagi11V1Ja9HeaCgtgQR6Fwejw9C0mfLCIEWbmHPABBoweqAkNVXzF78g5VkoiSN1zEks6fcP9z6BE+gTsVe7ImIpAMp9GrlXp03yPJDn1BQKtHhqwirgw8NA8RLvnb7M2zFzdQbusiYoAGpW/8+vQra/dkWN+A3CEf5GdWr39mJlHVn1Z5H4Th6Tt5QSwtbC8m7kuVse8E42pXzTO1unuNhde3oXAi0YZs09HspjEH/gR3pVuLXpUO5Ba8aNuLSUXffxWmlt+0HZlMLKgmq+2xrrl7XASR5TGGvZyHRlKHRn4PYmARt1MKaCQ/ZHK2sVOAMHsm7lkeDITXhFubmdwN6brF2WOHXBarml+/SjiJJK1miQd7LDCGtb7Ut6HATTkN717CYQ7j2V6FK0SczbQyTwkNkLKaq5Awtbl7Q+zgfRY8Atb+YmytXwDVj08rIc0Jagims3beEdC3iOewqaVPL7yyWw13zfd2v5o44igm6cPvICwIizZmGGtUWRvXcYLDYI3oa+u90k5LP8H5IQNJ33YIZgUwXzjg+/1zPcQH8aYomnQq0YNh6NBdASKi5KY4p+UTJskpFN8D5K24Rd9XksFg/YBnWmNicV8OJf+Y8vpp2VnD7iZSNR0EZkY4R310YtmSn77q+z33dtE76pVL3BQ/Zz9XLg0Bquq4f07FW2ocffsYT0Tq7mo3fw66JBQLquIstIoN1pau FRuck7qg wyd63JRjp0XAAsB2qpwoTGgcIigITr0qU3F3R+8P8IcAbvrIHStXuq3hWx3rc87NhcVc9FYVnok7jPiM6e9VBs7YJXDCA11VLVUCboJK9dG1ToKzx4QFK0hZcwUW/n0oDSKiN 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: The KUnit UAPI infrastructure starts userspace processes. As it should be able to be built as a module, export the necessary symbols. 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