From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com
Subject: [arnd-asm-generic:syscall-tbl-6.9 43/46] kernel/fork.c:3087:2: sparse: sparse: clone3() entry point is missing, please fix
Date: Wed, 15 May 2024 13:34:48 +0800 [thread overview]
Message-ID: <202405151354.mPycoB6W-lkp@intel.com> (raw)
::::::
:::::: Manual check reason: "low confidence static check warning: kernel/fork.c:3087:2: sparse: sparse: clone3() entry point is missing, please fix"
::::::
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-arch@vger.kernel.org
TO: Arnd Bergmann <arnd@arndb.de>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic.git syscall-tbl-6.9
head: e0d7a2fe9b74052a280531e773ebaba59e2d523f
commit: 6bca3b47be851b7e05f0117d8022a0daabc84c72 [43/46] clone3: drop __ARCH_WANT_SYS_CLONE3 macro
:::::: branch date: 6 days ago
:::::: commit date: 7 days ago
config: alpha-randconfig-r133-20240515 (https://download.01.org/0day-ci/archive/20240515/202405151354.mPycoB6W-lkp@intel.com/config)
compiler: alpha-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20240515/202405151354.mPycoB6W-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/r/202405151354.mPycoB6W-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> kernel/fork.c:3087:2: sparse: sparse: clone3() entry point is missing, please fix
kernel/fork.c:1242:19: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct [noderef] __rcu *owner @@ got struct task_struct *p @@
kernel/fork.c:1242:19: sparse: expected struct task_struct [noderef] __rcu *owner
kernel/fork.c:1242:19: sparse: got struct task_struct *p
kernel/fork.c:1806:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct refcount_struct [usertype] *r @@ got struct refcount_struct [noderef] __rcu * @@
kernel/fork.c:1806:38: sparse: expected struct refcount_struct [usertype] *r
kernel/fork.c:1806:38: sparse: got struct refcount_struct [noderef] __rcu *
kernel/fork.c:1815:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/fork.c:1815:31: sparse: expected struct spinlock [usertype] *lock
kernel/fork.c:1815:31: sparse: got struct spinlock [noderef] __rcu *
kernel/fork.c:1816:36: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const * @@ got struct k_sigaction [noderef] __rcu * @@
kernel/fork.c:1816:36: sparse: expected void const *
kernel/fork.c:1816:36: sparse: got struct k_sigaction [noderef] __rcu *
kernel/fork.c:1817:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/fork.c:1817:33: sparse: expected struct spinlock [usertype] *lock
kernel/fork.c:1817:33: sparse: got struct spinlock [noderef] __rcu *
kernel/fork.c:2209:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/fork.c:2209:31: sparse: expected struct spinlock [usertype] *lock
kernel/fork.c:2209:31: sparse: got struct spinlock [noderef] __rcu *
kernel/fork.c:2213:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/fork.c:2213:33: sparse: expected struct spinlock [usertype] *lock
kernel/fork.c:2213:33: sparse: got struct spinlock [noderef] __rcu *
kernel/fork.c:2526:32: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct [noderef] __rcu *real_parent @@ got struct task_struct *task @@
kernel/fork.c:2526:32: sparse: expected struct task_struct [noderef] __rcu *real_parent
kernel/fork.c:2526:32: sparse: got struct task_struct *task
kernel/fork.c:2535:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/fork.c:2535:27: sparse: expected struct spinlock [usertype] *lock
kernel/fork.c:2535:27: sparse: got struct spinlock [noderef] __rcu *
kernel/fork.c:2584:54: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct list_head *head @@ got struct list_head [noderef] __rcu * @@
kernel/fork.c:2584:54: sparse: expected struct list_head *head
kernel/fork.c:2584:54: sparse: got struct list_head [noderef] __rcu *
kernel/fork.c:2604:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/fork.c:2604:29: sparse: expected struct spinlock [usertype] *lock
kernel/fork.c:2604:29: sparse: got struct spinlock [noderef] __rcu *
kernel/fork.c:2626:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/fork.c:2626:29: sparse: expected struct spinlock [usertype] *lock
kernel/fork.c:2626:29: sparse: got struct spinlock [noderef] __rcu *
kernel/fork.c:2653:28: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sighand_struct *sighand @@ got struct sighand_struct [noderef] __rcu *sighand @@
kernel/fork.c:2653:28: sparse: expected struct sighand_struct *sighand
kernel/fork.c:2653:28: sparse: got struct sighand_struct [noderef] __rcu *sighand
kernel/fork.c:2682:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/fork.c:2682:31: sparse: expected struct spinlock [usertype] *lock
kernel/fork.c:2682:31: sparse: got struct spinlock [noderef] __rcu *
kernel/fork.c:2684:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/fork.c:2684:33: sparse: expected struct spinlock [usertype] *lock
kernel/fork.c:2684:33: sparse: got struct spinlock [noderef] __rcu *
kernel/fork.c:3127:24: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct *[assigned] parent @@ got struct task_struct [noderef] __rcu *real_parent @@
kernel/fork.c:3127:24: sparse: expected struct task_struct *[assigned] parent
kernel/fork.c:3127:24: sparse: got struct task_struct [noderef] __rcu *real_parent
kernel/fork.c:3215:43: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct refcount_struct const [usertype] *r @@ got struct refcount_struct [noderef] __rcu * @@
kernel/fork.c:3215:43: sparse: expected struct refcount_struct const [usertype] *r
kernel/fork.c:3215:43: sparse: got struct refcount_struct [noderef] __rcu *
kernel/fork.c:2259:22: sparse: sparse: dereference of noderef expression
kernel/fork.c: note: in included file (through include/uapi/asm-generic/bpf_perf_event.h, arch/alpha/include/generated/uapi/asm/bpf_perf_event.h, ...):
include/linux/ptrace.h:210:45: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct task_struct *new_parent @@ got struct task_struct [noderef] __rcu *parent @@
include/linux/ptrace.h:210:45: sparse: expected struct task_struct *new_parent
include/linux/ptrace.h:210:45: sparse: got struct task_struct [noderef] __rcu *parent
include/linux/ptrace.h:210:62: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected struct cred const *ptracer_cred @@ got struct cred const [noderef] __rcu *ptracer_cred @@
include/linux/ptrace.h:210:62: sparse: expected struct cred const *ptracer_cred
include/linux/ptrace.h:210:62: sparse: got struct cred const [noderef] __rcu *ptracer_cred
kernel/fork.c:2582:59: sparse: sparse: dereference of noderef expression
kernel/fork.c:2583:59: sparse: sparse: dereference of noderef expression
kernel/fork.c:1234:23: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/fork.c:1234:23: sparse: struct task_struct [noderef] __rcu *
kernel/fork.c:1234:23: sparse: struct task_struct *
vim +3087 kernel/fork.c
7f192e3cd316ba Christian Brauner 2019-05-25 3067
501bd0166eb949 Christian Brauner 2019-09-27 3068 /**
ff0712ea71f173 Matthew Wilcox (Oracle 2023-08-24 3069) * sys_clone3 - create a new process with specific properties
501bd0166eb949 Christian Brauner 2019-09-27 3070 * @uargs: argument structure
501bd0166eb949 Christian Brauner 2019-09-27 3071 * @size: size of @uargs
501bd0166eb949 Christian Brauner 2019-09-27 3072 *
501bd0166eb949 Christian Brauner 2019-09-27 3073 * clone3() is the extensible successor to clone()/clone2().
501bd0166eb949 Christian Brauner 2019-09-27 3074 * It takes a struct as argument that is versioned by its size.
501bd0166eb949 Christian Brauner 2019-09-27 3075 *
501bd0166eb949 Christian Brauner 2019-09-27 3076 * Return: On success, a positive PID for the child process.
501bd0166eb949 Christian Brauner 2019-09-27 3077 * On error, a negative errno number.
501bd0166eb949 Christian Brauner 2019-09-27 3078 */
7f192e3cd316ba Christian Brauner 2019-05-25 3079 SYSCALL_DEFINE2(clone3, struct clone_args __user *, uargs, size_t, size)
7f192e3cd316ba Christian Brauner 2019-05-25 3080 {
7f192e3cd316ba Christian Brauner 2019-05-25 3081 int err;
7f192e3cd316ba Christian Brauner 2019-05-25 3082
7f192e3cd316ba Christian Brauner 2019-05-25 3083 struct kernel_clone_args kargs;
49cb2fc42ce4b7 Adrian Reber 2019-11-15 3084 pid_t set_tid[MAX_PID_NS_LEVEL];
49cb2fc42ce4b7 Adrian Reber 2019-11-15 3085
6bca3b47be851b Arnd Bergmann 2024-05-08 3086 #ifdef __ARCH_BROKEN_SYS_CLONE3
6bca3b47be851b Arnd Bergmann 2024-05-08 @3087 #warning clone3() entry point is missing, please fix
6bca3b47be851b Arnd Bergmann 2024-05-08 3088 return -ENOSYS;
6bca3b47be851b Arnd Bergmann 2024-05-08 3089 #endif
6bca3b47be851b Arnd Bergmann 2024-05-08 3090
49cb2fc42ce4b7 Adrian Reber 2019-11-15 3091 kargs.set_tid = set_tid;
7f192e3cd316ba Christian Brauner 2019-05-25 3092
7f192e3cd316ba Christian Brauner 2019-05-25 3093 err = copy_clone_args_from_user(&kargs, uargs, size);
7f192e3cd316ba Christian Brauner 2019-05-25 3094 if (err)
7f192e3cd316ba Christian Brauner 2019-05-25 3095 return err;
7f192e3cd316ba Christian Brauner 2019-05-25 3096
7f192e3cd316ba Christian Brauner 2019-05-25 3097 if (!clone3_args_valid(&kargs))
7f192e3cd316ba Christian Brauner 2019-05-25 3098 return -EINVAL;
7f192e3cd316ba Christian Brauner 2019-05-25 3099
cad6967ac10843 Christian Brauner 2020-08-19 3100 return kernel_clone(&kargs);
d2125043aebf7f Al Viro 2012-10-23 3101 }
d2125043aebf7f Al Viro 2012-10-23 3102
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
reply other threads:[~2024-05-15 5:35 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202405151354.mPycoB6W-lkp@intel.com \
--to=lkp@intel.com \
--cc=oe-kbuild@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.