mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [tip:timers/vdso 10/18] kernel/sys.c:2878:1: warning: alias and aliasee have different types 'long (unsigned int  __attribute__((btf_type_tag("user")))*, unsigned int  __attribute__((btf_type_tag("user")))*, void  __attribute__((btf_type_tag("user")))*)' (aka 'long (unsigned int...
@ 2026-05-30  3:33 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-05-30  3:33 UTC (permalink / raw)
  To: Thomas Weißschuh ; +Cc: oe-kbuild-all, linux-kernel, x86, Thomas Gleixner

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/vdso
head:   034779fb06aba5bc45faf366922bd77e4d36543a
commit: 7158fc54b2c6f124eec0d7cd13bff69da0172e59 [10/18] vdso: Remove struct getcpu_cache
config: loongarch-randconfig-r073-20260530 (https://download.01.org/0day-ci/archive/20260530/202605301150.1I5lIDzd-lkp@intel.com/config)
compiler: clang version 23.0.0git (https://github.com/llvm/llvm-project 9409c07de6378507397ecdb6f05f628f58110112)
smatch: v0.5.0-9185-gbcc58b9c
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260530/202605301150.1I5lIDzd-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/202605301150.1I5lIDzd-lkp@intel.com/

All warnings (new ones prefixed by >>):

   kernel/sys.c:1793:1: warning: alias and aliasee have different types 'long (unsigned int, struct rlimit  __attribute__((btf_type_tag("user")))*)' (aka 'long (unsigned int, struct rlimit *)') and 'long (typeof (__builtin_choose_expr((__builtin_types_compatible_p(typeof ((unsigned int)0), typeof (0LL)) || __builtin_types_compatible_p(typeof ((unsigned int)0), typeof (0ULL))), 0LL, 0L)), typeof (__builtin_choose_expr((__builtin_types_compatible_p(typeof ((struct rlimit  __attribute__((btf_type_tag("user")))*)0), typeof (0LL)) || __builtin_types_compatible_p(typeof ((struct rlimit  __attribute__((btf_type_tag("user")))*)0), typeof (0ULL))), 0LL, 0L)))' (aka 'long (long, long)') [-Wattribute-alias]
    1793 | SYSCALL_DEFINE2(setrlimit, unsigned int, resource, struct rlimit __user *, rlim)
         | ^
   include/linux/syscalls.h:226:36: note: expanded from macro 'SYSCALL_DEFINE2'
     226 | #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__)
         |                                    ^
   include/linux/syscalls.h:236:2: note: expanded from macro 'SYSCALL_DEFINEx'
     236 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^
   include/linux/syscalls.h:251:18: note: expanded from macro '__SYSCALL_DEFINEx'
     251 |                 __attribute__((alias(__stringify(__se_sys##name))));    \
         |                                ^
   kernel/sys.c:1793:1: note: aliasee is declared here
   include/linux/syscalls.h:226:36: note: expanded from macro 'SYSCALL_DEFINE2'
     226 | #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__)
         |                                    ^
   include/linux/syscalls.h:236:2: note: expanded from macro 'SYSCALL_DEFINEx'
     236 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^
   include/linux/syscalls.h:255:18: note: expanded from macro '__SYSCALL_DEFINEx'
     255 |         asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__))  \
         |                         ^
   <scratch space>:157:1: note: expanded from here
     157 | __se_sys_setrlimit
         | ^
   kernel/sys.c:1933:1: warning: alias and aliasee have different types 'long (int, struct rusage  __attribute__((btf_type_tag("user")))*)' (aka 'long (int, struct rusage *)') 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 rusage  __attribute__((btf_type_tag("user")))*)0), typeof (0LL)) || __builtin_types_compatible_p(typeof ((struct rusage  __attribute__((btf_type_tag("user")))*)0), typeof (0ULL))), 0LL, 0L)))' (aka 'long (long, long)') [-Wattribute-alias]
    1933 | SYSCALL_DEFINE2(getrusage, int, who, struct rusage __user *, ru)
         | ^
   include/linux/syscalls.h:226:36: note: expanded from macro 'SYSCALL_DEFINE2'
     226 | #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__)
         |                                    ^
   include/linux/syscalls.h:236:2: note: expanded from macro 'SYSCALL_DEFINEx'
     236 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^
   include/linux/syscalls.h:251:18: note: expanded from macro '__SYSCALL_DEFINEx'
     251 |                 __attribute__((alias(__stringify(__se_sys##name))));    \
         |                                ^
   kernel/sys.c:1933:1: note: aliasee is declared here
   include/linux/syscalls.h:226:36: note: expanded from macro 'SYSCALL_DEFINE2'
     226 | #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__)
         |                                    ^
   include/linux/syscalls.h:236:2: note: expanded from macro 'SYSCALL_DEFINEx'
     236 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^
   include/linux/syscalls.h:255:18: note: expanded from macro '__SYSCALL_DEFINEx'
     255 |         asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__))  \
         |                         ^
   <scratch space>:21:1: note: expanded from here
      21 | __se_sys_getrusage
         | ^
   kernel/sys.c:1959:1: warning: alias and aliasee have different types 'long (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)))' (aka 'long (long)') [-Wattribute-alias]
    1959 | SYSCALL_DEFINE1(umask, int, mask)
         | ^
   include/linux/syscalls.h:225:36: note: expanded from macro 'SYSCALL_DEFINE1'
     225 | #define SYSCALL_DEFINE1(name, ...) SYSCALL_DEFINEx(1, _##name, __VA_ARGS__)
         |                                    ^
   include/linux/syscalls.h:236:2: note: expanded from macro 'SYSCALL_DEFINEx'
     236 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^
   include/linux/syscalls.h:251:18: note: expanded from macro '__SYSCALL_DEFINEx'
     251 |                 __attribute__((alias(__stringify(__se_sys##name))));    \
         |                                ^
   kernel/sys.c:1959:1: note: aliasee is declared here
   include/linux/syscalls.h:225:36: note: expanded from macro 'SYSCALL_DEFINE1'
     225 | #define SYSCALL_DEFINE1(name, ...) SYSCALL_DEFINEx(1, _##name, __VA_ARGS__)
         |                                    ^
   include/linux/syscalls.h:236:2: note: expanded from macro 'SYSCALL_DEFINEx'
     236 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^
   include/linux/syscalls.h:255:18: note: expanded from macro '__SYSCALL_DEFINEx'
     255 |         asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__))  \
         |                         ^
   <scratch space>:50:1: note: expanded from here
      50 | __se_sys_umask
         | ^
   kernel/sys.c:2517:1: warning: alias and aliasee have different types 'long (int, unsigned long, unsigned long, unsigned long, unsigned long)' 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 ((unsigned long)0), typeof (0LL)) || __builtin_types_compatible_p(typeof ((unsigned long)0), typeof (0ULL))), 0LL, 0L)), typeof (__builtin_choose_expr((__builtin_types_compatible_p(typeof ((unsigned long)0), typeof (0LL)) || __builtin_types_compatible_p(typeof ((unsigned long)0), typeof (0ULL))), 0LL, 0L)), typeof (__builtin_choose_expr((__builtin_types_compatible_p(typeof ((unsigned long)0), typeof (0LL)) || __builtin_types_compatible_p(typeof ((unsigned long)0), typeof (0ULL))), 0LL, 0L)), typeof (__builtin_choose_expr((__builtin_types_compatible_p(typeof ((unsigned long)0), typeof (0LL)) || __builtin_types_compatible_p(typeof ((unsigned long)0), typeof (0ULL))), 0LL, 0L)))' (aka 'long (long, long, long, long, long)') [-Wattribute-alias]
    2517 | SYSCALL_DEFINE5(prctl, int, option, unsigned long, arg2, unsigned long, arg3,
         | ^
   include/linux/syscalls.h:229:36: note: expanded from macro 'SYSCALL_DEFINE5'
     229 | #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__)
         |                                    ^
   include/linux/syscalls.h:236:2: note: expanded from macro 'SYSCALL_DEFINEx'
     236 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^
   include/linux/syscalls.h:251:18: note: expanded from macro '__SYSCALL_DEFINEx'
     251 |                 __attribute__((alias(__stringify(__se_sys##name))));    \
         |                                ^
   kernel/sys.c:2517:1: note: aliasee is declared here
   include/linux/syscalls.h:229:36: note: expanded from macro 'SYSCALL_DEFINE5'
     229 | #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__)
         |                                    ^
   include/linux/syscalls.h:236:2: note: expanded from macro 'SYSCALL_DEFINEx'
     236 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^
   include/linux/syscalls.h:255:18: note: expanded from macro '__SYSCALL_DEFINEx'
     255 |         asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__))  \
         |                         ^
   <scratch space>:113:1: note: expanded from here
     113 | __se_sys_prctl
         | ^
>> kernel/sys.c:2878:1: warning: alias and aliasee have different types 'long (unsigned int  __attribute__((btf_type_tag("user")))*, unsigned int  __attribute__((btf_type_tag("user")))*, void  __attribute__((btf_type_tag("user")))*)' (aka 'long (unsigned int *, unsigned int *, void *)') and 'long (typeof (__builtin_choose_expr((__builtin_types_compatible_p(typeof ((unsigned int  __attribute__((btf_type_tag("user")))*)0), typeof (0LL)) || __builtin_types_compatible_p(typeof ((unsigned int  __attribute__((btf_type_tag("user")))*)0), typeof (0ULL))), 0LL, 0L)), typeof (__builtin_choose_expr((__builtin_types_compatible_p(typeof ((unsigned int  __attribute__((btf_type_tag("user")))*)0), typeof (0LL)) || __builtin_types_compatible_p(typeof ((unsigned int  __attribute__((btf_type_tag("user")))*)0), typeof (0ULL))), 0LL, 0L)), typeof (__builtin_choose_expr((__builtin_types_compatible_p(typeof ((void  __attribute__((btf_type_tag("user")))*)0), typeof (0LL)) || __builtin_types_compatible_p(typeof ((void  __attribute__((btf_type_tag("user")))*)0), typeof (0ULL))), 0LL, 0L)))' (aka 'long (long, long, long)') [-Wattribute-alias]
    2878 | SYSCALL_DEFINE3(getcpu, unsigned __user *, cpup, unsigned __user *, nodep, void __user *, unused)
         | ^
   include/linux/syscalls.h:227:36: note: expanded from macro 'SYSCALL_DEFINE3'
     227 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
         |                                    ^
   include/linux/syscalls.h:236:2: note: expanded from macro 'SYSCALL_DEFINEx'
     236 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^
   include/linux/syscalls.h:251:18: note: expanded from macro '__SYSCALL_DEFINEx'
     251 |                 __attribute__((alias(__stringify(__se_sys##name))));    \
         |                                ^
   kernel/sys.c:2878:1: note: aliasee is declared here
   include/linux/syscalls.h:227:36: note: expanded from macro 'SYSCALL_DEFINE3'
     227 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
         |                                    ^
   include/linux/syscalls.h:236:2: note: expanded from macro 'SYSCALL_DEFINEx'
     236 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^
   include/linux/syscalls.h:255:18: note: expanded from macro '__SYSCALL_DEFINEx'
     255 |         asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__))  \
         |                         ^
   <scratch space>:31:1: note: expanded from here
      31 | __se_sys_getcpu
         | ^
   kernel/sys.c:2957:1: warning: alias and aliasee have different types 'long (struct sysinfo  __attribute__((btf_type_tag("user")))*)' (aka 'long (struct sysinfo *)') and 'long (typeof (__builtin_choose_expr((__builtin_types_compatible_p(typeof ((struct sysinfo  __attribute__((btf_type_tag("user")))*)0), typeof (0LL)) || __builtin_types_compatible_p(typeof ((struct sysinfo  __attribute__((btf_type_tag("user")))*)0), typeof (0ULL))), 0LL, 0L)))' (aka 'long (long)') [-Wattribute-alias]
    2957 | SYSCALL_DEFINE1(sysinfo, struct sysinfo __user *, info)
         | ^
   include/linux/syscalls.h:225:36: note: expanded from macro 'SYSCALL_DEFINE1'
     225 | #define SYSCALL_DEFINE1(name, ...) SYSCALL_DEFINEx(1, _##name, __VA_ARGS__)
         |                                    ^
   include/linux/syscalls.h:236:2: note: expanded from macro 'SYSCALL_DEFINEx'
     236 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^
   include/linux/syscalls.h:251:18: note: expanded from macro '__SYSCALL_DEFINEx'
     251 |                 __attribute__((alias(__stringify(__se_sys##name))));    \
         |                                ^
   kernel/sys.c:2957:1: note: aliasee is declared here
   include/linux/syscalls.h:225:36: note: expanded from macro 'SYSCALL_DEFINE1'
     225 | #define SYSCALL_DEFINE1(name, ...) SYSCALL_DEFINEx(1, _##name, __VA_ARGS__)
         |                                    ^
   include/linux/syscalls.h:236:2: note: expanded from macro 'SYSCALL_DEFINEx'
     236 |         __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
         |         ^
   include/linux/syscalls.h:255:18: note: expanded from macro '__SYSCALL_DEFINEx'
     255 |         asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__))  \
         |                         ^
   <scratch space>:170:1: note: expanded from here
     170 | __se_sys_sysinfo
         | ^
   27 warnings generated.


vim +2878 kernel/sys.c

  2877	
> 2878	SYSCALL_DEFINE3(getcpu, unsigned __user *, cpup, unsigned __user *, nodep, void __user *, unused)
  2879	{
  2880		int err = 0;
  2881		int cpu = raw_smp_processor_id();
  2882	
  2883		if (cpup)
  2884			err |= put_user(cpu, cpup);
  2885		if (nodep)
  2886			err |= put_user(cpu_to_node(cpu), nodep);
  2887		return err ? -EFAULT : 0;
  2888	}
  2889	

--
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-05-30  3:36 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-05-30  3:33 [tip:timers/vdso 10/18] kernel/sys.c:2878:1: warning: alias and aliasee have different types 'long (unsigned int __attribute__((btf_type_tag("user")))*, unsigned int __attribute__((btf_type_tag("user")))*, void __attribute__((btf_type_tag("user")))*)' (aka 'long (unsigned int kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome