All of lore.kernel.org
 help / color / mirror / Atom feed
* [arnd-asm-generic:syscall-tbl-6.9 43/46] kernel/fork.c:3087:2: sparse: sparse: clone3() entry point is missing, please fix
@ 2024-05-15  5:34 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-05-15  5:34 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp

:::::: 
:::::: 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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-05-15  5:35 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-15  5:34 [arnd-asm-generic:syscall-tbl-6.9 43/46] kernel/fork.c:3087:2: sparse: sparse: clone3() entry point is missing, please fix kernel test robot

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.