All of lore.kernel.org
 help / color / mirror / Atom feed
* [android-common:android14-5.15-2026-01 2/2] kernel/futex/core.c:3562:1: warning: alias and aliasee have different types 'long (struct robust_list_head *, size_t)' (aka 'long (struct robust_list_head *, unsigned int)') and 'long (typeof (__builtin_choose_expr((__builtin_types_compatible_p(typeof ((s...
@ 2026-09-17 20:43 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-09-17 20:43 UTC (permalink / raw)
  To: cros-kernel-buildreports; +Cc: oe-kbuild-all

Hi Peter,

FYI, the error/warning still remains.

tree:   https://android.googlesource.com/kernel/common android14-5.15-2026-01
head:   44f129f9db919b90cfb6ff8603efb59ae9e7ca72
commit: fd8a10d44c11f8f53d640db6b97486045b7e0b81 [2/2] futex: Move to kernel/futex/
config: arm-allnoconfig (https://download.01.org/0day-ci/archive/20260918/202609180400.naodon8q-lkp@intel.com/config)
compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project 7252edd9aa82ef1c570ff6694ef7f4763a8a5d2f)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260918/202609180400.naodon8q-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/oe-kbuild-all/202609180400.naodon8q-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> kernel/futex/core.c:3562:1: warning: alias and aliasee have different types 'long (struct robust_list_head *, size_t)' (aka 'long (struct robust_list_head *, unsigned int)') and 'long (typeof (__builtin_choose_expr((__builtin_types_compatible_p(typeof ((struct robust_list_head *)0), typeof (0LL)) || __builtin_types_compatible_p(typeof ((struct robust_list_head *)0), typeof (0ULL))), 0LL, 0L)), typeof (__builtin_choose_expr((__builtin_types_compatible_p(typeof ((size_t)0), typeof (0LL)) || __builtin_types_compatible_p(typeof ((size_t)0), typeof (0ULL))), 0LL, 0L)))' (aka 'long (long, long)') [-Wattribute-alias]
    3562 | SYSCALL_DEFINE2(set_robust_list, struct robust_list_head __user *, head,
         | ^
   include/linux/syscalls.h:217:36: note: expanded from macro 'SYSCALL_DEFINE2'
     217 | #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__)
         |                                    ^
   include/linux/syscalls.h:227:2: note: expanded from macro 'SYSCALL_DEFINEx'
     227 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^
   include/linux/syscalls.h:242:18: note: expanded from macro '__SYSCALL_DEFINEx'
     242 |                 __attribute__((alias(__stringify(__se_sys##name))));    \
         |                                ^
   kernel/futex/core.c:3562:1: note: aliasee is declared here
   include/linux/syscalls.h:217:36: note: expanded from macro 'SYSCALL_DEFINE2'
     217 | #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__)
         |                                    ^
   include/linux/syscalls.h:227:2: note: expanded from macro 'SYSCALL_DEFINEx'
     227 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^
   include/linux/syscalls.h:246:18: note: expanded from macro '__SYSCALL_DEFINEx'
     246 |         asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__))  \
         |                         ^
   <scratch space>:20:1: note: expanded from here
      20 | __se_sys_set_robust_list
         | ^
>> kernel/futex/core.c:3584:1: warning: alias and aliasee have different types 'long (int, struct robust_list_head **, size_t *)' (aka 'long (int, struct robust_list_head **, unsigned int *)') and 'long (typeof (__builtin_choose_expr((__builtin_types_compatible_p(typeof ((int)0), typeof (0LL)) || __builtin_types_compatible_p(typeof ((int)0), typeof (0ULL))), 0LL, 0L)), typeof (__builtin_choose_expr((__builtin_types_compatible_p(typeof ((struct robust_list_head **)0), typeof (0LL)) || __builtin_types_compatible_p(typeof ((struct robust_list_head **)0), typeof (0ULL))), 0LL, 0L)), typeof (__builtin_choose_expr((__builtin_types_compatible_p(typeof ((size_t *)0), typeof (0LL)) || __builtin_types_compatible_p(typeof ((size_t *)0), typeof (0ULL))), 0LL, 0L)))' (aka 'long (long, long, long)') [-Wattribute-alias]
    3584 | SYSCALL_DEFINE3(get_robust_list, int, pid,
         | ^
   include/linux/syscalls.h:218:36: note: expanded from macro 'SYSCALL_DEFINE3'
     218 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
         |                                    ^
   include/linux/syscalls.h:227:2: note: expanded from macro 'SYSCALL_DEFINEx'
     227 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^
   include/linux/syscalls.h:242:18: note: expanded from macro '__SYSCALL_DEFINEx'
     242 |                 __attribute__((alias(__stringify(__se_sys##name))));    \
         |                                ^
   kernel/futex/core.c:3584:1: note: aliasee is declared here
   include/linux/syscalls.h:218:36: note: expanded from macro 'SYSCALL_DEFINE3'
     218 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
         |                                    ^
   include/linux/syscalls.h:227:2: note: expanded from macro 'SYSCALL_DEFINEx'
     227 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^
   include/linux/syscalls.h:246:18: note: expanded from macro '__SYSCALL_DEFINEx'
     246 |         asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__))  \
         |                         ^
   <scratch space>:39:1: note: expanded from here
      39 | __se_sys_get_robust_list
         | ^
>> kernel/futex/core.c:4022:1: warning: alias and aliasee have different types 'long (u32 *, int, u32, const struct __kernel_timespec *, u32 *, u32)' (aka 'long (unsigned int *, int, unsigned int, const struct __kernel_timespec *, unsigned int *, unsigned int)') and 'long (typeof (__builtin_choose_expr((__builtin_types_compatible_p(typeof ((u32 *)0), typeof (0LL)) || __builtin_types_compatible_p(typeof ((u32 *)0), typeof (0ULL))), 0LL, 0L)), typeof (__builtin_choose_expr((__builtin_types_compatible_p(typeof ((int)0), typeof (0LL)) || __builtin_types_compatible_p(typeof ((int)0), typeof (0ULL))), 0LL, 0L)), typeof (__builtin_choose_expr((__builtin_types_compatible_p(typeof ((u32)0), typeof (0LL)) || __builtin_types_compatible_p(typeof ((u32)0), typeof (0ULL))), 0LL, 0L)), typeof (__builtin_choose_expr((__builtin_types_compatible_p(typeof ((const struct __kernel_timespec *)0), typeof (0LL)) || __builtin_types_compatible_p(typeof ((const struct __kernel_timespec *)0), typeof (0ULL))), 0LL, 0L)), typeof (__builtin_choose_expr((__builtin_types_compatible_p(typeof ((u32 *)0), typeof (0LL)) || __builtin_types_compatible_p(typeof ((u32 *)0), typeof (0ULL))), 0LL, 0L)), typeof (__builtin_choose_expr((__builtin_types_compatible_p(typeof ((u32)0), typeof (0LL)) || __builtin_types_compatible_p(typeof ((u32)0), typeof (0ULL))), 0LL, 0L)))' (aka 'long (long, long, long, long, long, long)') [-Wattribute-alias]
    4022 | SYSCALL_DEFINE6(futex, u32 __user *, uaddr, int, op, u32, val,
         | ^
   include/linux/syscalls.h:221:36: note: expanded from macro 'SYSCALL_DEFINE6'
     221 | #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__)
         |                                    ^
   include/linux/syscalls.h:227:2: note: expanded from macro 'SYSCALL_DEFINEx'
     227 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^
   include/linux/syscalls.h:242:18: note: expanded from macro '__SYSCALL_DEFINEx'
     242 |                 __attribute__((alias(__stringify(__se_sys##name))));    \
         |                                ^
   kernel/futex/core.c:4022:1: note: aliasee is declared here
   include/linux/syscalls.h:221:36: note: expanded from macro 'SYSCALL_DEFINE6'
     221 | #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__)
         |                                    ^
   include/linux/syscalls.h:227:2: note: expanded from macro 'SYSCALL_DEFINEx'
     227 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^
   include/linux/syscalls.h:246:18: note: expanded from macro '__SYSCALL_DEFINEx'
     246 |         asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__))  \
         |                         ^
   <scratch space>:94:1: note: expanded from here
      94 | __se_sys_futex
         | ^
   3 warnings generated.


vim +3562 kernel/futex/core.c

52400ba946759a kernel/futex.c Darren Hart     2009-04-03  3541  
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3542  /*
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3543   * Support for robust futexes: the kernel cleans up held futexes at
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3544   * thread exit time.
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3545   *
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3546   * Implementation: user-space maintains a per-thread list of locks it
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3547   * is holding. Upon do_exit(), the kernel carefully walks this list,
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3548   * and marks all locks that are owned by this thread with the
c87e2837be82df kernel/futex.c Ingo Molnar     2006-06-27  3549   * FUTEX_OWNER_DIED bit, and wakes up a waiter (if any). The list is
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3550   * always manipulated with the lock held, so the list is private and
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3551   * per-thread. Userspace also maintains a per-thread 'list_op_pending'
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3552   * field, to allow the kernel to clean up if the thread dies after
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3553   * acquiring the lock, but just before it could have added itself to
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3554   * the list. There can only be one such pending lock.
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3555   */
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3556  
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3557  /**
d96ee56ce05829 kernel/futex.c Darren Hart     2009-09-21  3558   * sys_set_robust_list() - Set the robust-futex list head of a task
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3559   * @head:	pointer to the list-head
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3560   * @len:	length of the list-head, as userspace expects
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3561   */
836f92adf121f8 kernel/futex.c Heiko Carstens  2009-01-14 @3562  SYSCALL_DEFINE2(set_robust_list, struct robust_list_head __user *, head,
836f92adf121f8 kernel/futex.c Heiko Carstens  2009-01-14  3563  		size_t, len)
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3564  {
a0c1e9073ef742 kernel/futex.c Thomas Gleixner 2008-02-23  3565  	if (!futex_cmpxchg_enabled)
a0c1e9073ef742 kernel/futex.c Thomas Gleixner 2008-02-23  3566  		return -ENOSYS;
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3567  	/*
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3568  	 * The kernel knows only one size for now:
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3569  	 */
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3570  	if (unlikely(len != sizeof(*head)))
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3571  		return -EINVAL;
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3572  
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3573  	current->robust_list = head;
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3574  
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3575  	return 0;
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3576  }
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3577  
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3578  /**
d96ee56ce05829 kernel/futex.c Darren Hart     2009-09-21  3579   * sys_get_robust_list() - Get the robust-futex list head of a task
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3580   * @pid:	pid of the process [zero for current task]
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3581   * @head_ptr:	pointer to a list-head pointer, the kernel fills it in
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3582   * @len_ptr:	pointer to a length field, the kernel fills in the header size
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3583   */
836f92adf121f8 kernel/futex.c Heiko Carstens  2009-01-14 @3584  SYSCALL_DEFINE3(get_robust_list, int, pid,
836f92adf121f8 kernel/futex.c Heiko Carstens  2009-01-14  3585  		struct robust_list_head __user * __user *, head_ptr,
836f92adf121f8 kernel/futex.c Heiko Carstens  2009-01-14  3586  		size_t __user *, len_ptr)
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3587  {
ba46df984b8e81 kernel/futex.c Al Viro         2006-10-10  3588  	struct robust_list_head __user *head;
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3589  	unsigned long ret;
bdbb776f882f5a kernel/futex.c Kees Cook       2012-03-19  3590  	struct task_struct *p;
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3591  
a0c1e9073ef742 kernel/futex.c Thomas Gleixner 2008-02-23  3592  	if (!futex_cmpxchg_enabled)
a0c1e9073ef742 kernel/futex.c Thomas Gleixner 2008-02-23  3593  		return -ENOSYS;
a0c1e9073ef742 kernel/futex.c Thomas Gleixner 2008-02-23  3594  
bdbb776f882f5a kernel/futex.c Kees Cook       2012-03-19  3595  	rcu_read_lock();
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3596  
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3597  	ret = -ESRCH;
bdbb776f882f5a kernel/futex.c Kees Cook       2012-03-19  3598  	if (!pid)
bdbb776f882f5a kernel/futex.c Kees Cook       2012-03-19  3599  		p = current;
bdbb776f882f5a kernel/futex.c Kees Cook       2012-03-19  3600  	else {
228ebcbe634a30 kernel/futex.c Pavel Emelyanov 2007-10-18  3601  		p = find_task_by_vpid(pid);
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3602  		if (!p)
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3603  			goto err_unlock;
b0e77598f87107 kernel/futex.c Serge E. Hallyn 2011-03-23  3604  	}
bdbb776f882f5a kernel/futex.c Kees Cook       2012-03-19  3605  
bdbb776f882f5a kernel/futex.c Kees Cook       2012-03-19  3606  	ret = -EPERM;
caaee6234d05a5 kernel/futex.c Jann Horn       2016-01-20  3607  	if (!ptrace_may_access(p, PTRACE_MODE_READ_REALCREDS))
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3608  		goto err_unlock;
bdbb776f882f5a kernel/futex.c Kees Cook       2012-03-19  3609  
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3610  	head = p->robust_list;
aaa2a97eb9c0e9 kernel/futex.c Oleg Nesterov   2006-09-29  3611  	rcu_read_unlock();
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3612  
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3613  	if (put_user(sizeof(*head), len_ptr))
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3614  		return -EFAULT;
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3615  	return put_user(head, head_ptr);
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3616  
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3617  err_unlock:
aaa2a97eb9c0e9 kernel/futex.c Oleg Nesterov   2006-09-29  3618  	rcu_read_unlock();
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3619  
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3620  	return ret;
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3621  }
0771dfefc9e538 kernel/futex.c Ingo Molnar     2006-03-27  3622  

:::::: The code at line 3562 was first introduced by commit
:::::: 836f92adf121f806e9beb5b6b88bd5c9c4ea3f24 [CVE-2009-0029] System call wrappers part 31

:::::: TO: Heiko Carstens <heiko.carstens@de.ibm.com>
:::::: CC: Heiko Carstens <heiko.carstens@de.ibm.com>

--
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:[~2026-09-17 20:44 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-17 20:43 [android-common:android14-5.15-2026-01 2/2] kernel/futex/core.c:3562:1: warning: alias and aliasee have different types 'long (struct robust_list_head *, size_t)' (aka 'long (struct robust_list_head *, unsigned int)') and 'long (typeof (__builtin_choose_expr((__builtin_types_compatible_p(typeof ((s 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.