* [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.