kbuild Development List
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Mark Rutland <mark.rutland@arm.com>
Cc: oe-kbuild-all@lists.linux.dev
Subject: [mark:arm64/percpu-fixup 11/17] arch/arm64/include/asm/percpu.h:278:42: warning: conversion from 'long unsigned int' to 'u8' {aka 'unsigned char'} changes value from '18446744073709551615' to '255'
Date: Sat, 01 Aug 2026 17:41:55 +0800	[thread overview]
Message-ID: <202608011641.dj2IIpnP-lkp@intel.com> (raw)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git arm64/percpu-fixup
head:   f14d3c444eacd9a722e55ff59e30cce2b1ac8985
commit: 55cddf3387a963a59fa5f7e0df28d64fc2d8aa51 [11/17] arm64: percpu: Implement preemptible read/write ops
config: arm64-randconfig-003-20260801 (https://download.01.org/0day-ci/archive/20260801/202608011641.dj2IIpnP-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 14.3.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260801/202608011641.dj2IIpnP-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/202608011641.dj2IIpnP-lkp@intel.com/

All warnings (new ones prefixed by >>):

   In file included from arch/arm64/include/asm/spectre.h:17,
                    from arch/arm64/include/asm/processor.h:47,
                    from include/linux/sched.h:13,
                    from include/linux/ratelimit.h:6,
                    from include/linux/dev_printk.h:16,
                    from include/linux/device.h:15,
                    from include/linux/node.h:18,
                    from include/linux/cpu.h:17,
                    from include/linux/stop_machine.h:5,
                    from kernel/trace/ftrace.c:17:
   kernel/trace/ftrace.c: In function 'ftrace_filter_pid_sched_switch_probe':
>> arch/arm64/include/asm/percpu.h:278:42: warning: conversion from 'long unsigned int' to 'u8' {aka 'unsigned char'} changes value from '18446744073709551615' to '255' [-Woverflow]
     278 |         _pcp_wrap(__percpu_write_8, pcp, (unsigned long)val)
   arch/arm64/include/asm/percpu.h:260:20: note: in definition of macro '_pcp_wrap'
     260 |         op(&(pcp), __VA_ARGS__);                                        \
         |                    ^~~~~~~~~~~
   include/linux/percpu-defs.h:369:25: note: in expansion of macro 'this_cpu_write_1'
     369 |                 case 1: stem##1(variable, __VA_ARGS__);break;           \
         |                         ^~~~
   include/linux/percpu-defs.h:500:41: note: in expansion of macro '__pcpu_size_call'
     500 | #define this_cpu_write(pcp, val)        __pcpu_size_call(this_cpu_write_, pcp, val)
         |                                         ^~~~~~~~~~~~~~~~
   kernel/trace/ftrace.c:8628:17: note: in expansion of macro 'this_cpu_write'
    8628 |                 this_cpu_write(tr->array_buffer.data->ftrace_ignore_pid,
         |                 ^~~~~~~~~~~~~~
>> arch/arm64/include/asm/percpu.h:280:43: warning: conversion from 'long unsigned int' to 'u16' {aka 'short unsigned int'} changes value from '18446744073709551615' to '65535' [-Woverflow]
     280 |         _pcp_wrap(__percpu_write_16, pcp, (unsigned long)val)
   arch/arm64/include/asm/percpu.h:260:20: note: in definition of macro '_pcp_wrap'
     260 |         op(&(pcp), __VA_ARGS__);                                        \
         |                    ^~~~~~~~~~~
   include/linux/percpu-defs.h:370:25: note: in expansion of macro 'this_cpu_write_2'
     370 |                 case 2: stem##2(variable, __VA_ARGS__);break;           \
         |                         ^~~~
   include/linux/percpu-defs.h:500:41: note: in expansion of macro '__pcpu_size_call'
     500 | #define this_cpu_write(pcp, val)        __pcpu_size_call(this_cpu_write_, pcp, val)
         |                                         ^~~~~~~~~~~~~~~~
   kernel/trace/ftrace.c:8628:17: note: in expansion of macro 'this_cpu_write'
    8628 |                 this_cpu_write(tr->array_buffer.data->ftrace_ignore_pid,
         |                 ^~~~~~~~~~~~~~
>> arch/arm64/include/asm/percpu.h:282:43: warning: conversion from 'long unsigned int' to 'u32' {aka 'unsigned int'} changes value from '18446744073709551615' to '4294967295' [-Woverflow]
     282 |         _pcp_wrap(__percpu_write_32, pcp, (unsigned long)val)
   arch/arm64/include/asm/percpu.h:260:20: note: in definition of macro '_pcp_wrap'
     260 |         op(&(pcp), __VA_ARGS__);                                        \
         |                    ^~~~~~~~~~~
   include/linux/percpu-defs.h:371:25: note: in expansion of macro 'this_cpu_write_4'
     371 |                 case 4: stem##4(variable, __VA_ARGS__);break;           \
         |                         ^~~~
   include/linux/percpu-defs.h:500:41: note: in expansion of macro '__pcpu_size_call'
     500 | #define this_cpu_write(pcp, val)        __pcpu_size_call(this_cpu_write_, pcp, val)
         |                                         ^~~~~~~~~~~~~~~~
   kernel/trace/ftrace.c:8628:17: note: in expansion of macro 'this_cpu_write'
    8628 |                 this_cpu_write(tr->array_buffer.data->ftrace_ignore_pid,
         |                 ^~~~~~~~~~~~~~
   kernel/trace/ftrace.c: In function 'ignore_task_cpu':
>> arch/arm64/include/asm/percpu.h:278:42: warning: conversion from 'long unsigned int' to 'u8' {aka 'unsigned char'} changes value from '18446744073709551615' to '255' [-Woverflow]
     278 |         _pcp_wrap(__percpu_write_8, pcp, (unsigned long)val)
   arch/arm64/include/asm/percpu.h:260:20: note: in definition of macro '_pcp_wrap'
     260 |         op(&(pcp), __VA_ARGS__);                                        \
         |                    ^~~~~~~~~~~
   include/linux/percpu-defs.h:369:25: note: in expansion of macro 'this_cpu_write_1'
     369 |                 case 1: stem##1(variable, __VA_ARGS__);break;           \
         |                         ^~~~
   include/linux/percpu-defs.h:500:41: note: in expansion of macro '__pcpu_size_call'
     500 | #define this_cpu_write(pcp, val)        __pcpu_size_call(this_cpu_write_, pcp, val)
         |                                         ^~~~~~~~~~~~~~~~
   kernel/trace/ftrace.c:8898:17: note: in expansion of macro 'this_cpu_write'
    8898 |                 this_cpu_write(tr->array_buffer.data->ftrace_ignore_pid,
         |                 ^~~~~~~~~~~~~~
>> arch/arm64/include/asm/percpu.h:280:43: warning: conversion from 'long unsigned int' to 'u16' {aka 'short unsigned int'} changes value from '18446744073709551615' to '65535' [-Woverflow]
     280 |         _pcp_wrap(__percpu_write_16, pcp, (unsigned long)val)
   arch/arm64/include/asm/percpu.h:260:20: note: in definition of macro '_pcp_wrap'
     260 |         op(&(pcp), __VA_ARGS__);                                        \
         |                    ^~~~~~~~~~~
   include/linux/percpu-defs.h:370:25: note: in expansion of macro 'this_cpu_write_2'
     370 |                 case 2: stem##2(variable, __VA_ARGS__);break;           \
         |                         ^~~~
   include/linux/percpu-defs.h:500:41: note: in expansion of macro '__pcpu_size_call'
     500 | #define this_cpu_write(pcp, val)        __pcpu_size_call(this_cpu_write_, pcp, val)
         |                                         ^~~~~~~~~~~~~~~~
   kernel/trace/ftrace.c:8898:17: note: in expansion of macro 'this_cpu_write'
    8898 |                 this_cpu_write(tr->array_buffer.data->ftrace_ignore_pid,
         |                 ^~~~~~~~~~~~~~
>> arch/arm64/include/asm/percpu.h:282:43: warning: conversion from 'long unsigned int' to 'u32' {aka 'unsigned int'} changes value from '18446744073709551615' to '4294967295' [-Woverflow]
     282 |         _pcp_wrap(__percpu_write_32, pcp, (unsigned long)val)
   arch/arm64/include/asm/percpu.h:260:20: note: in definition of macro '_pcp_wrap'
     260 |         op(&(pcp), __VA_ARGS__);                                        \
         |                    ^~~~~~~~~~~
   include/linux/percpu-defs.h:371:25: note: in expansion of macro 'this_cpu_write_4'
     371 |                 case 4: stem##4(variable, __VA_ARGS__);break;           \
         |                         ^~~~
   include/linux/percpu-defs.h:500:41: note: in expansion of macro '__pcpu_size_call'
     500 | #define this_cpu_write(pcp, val)        __pcpu_size_call(this_cpu_write_, pcp, val)
         |                                         ^~~~~~~~~~~~~~~~
   kernel/trace/ftrace.c:8898:17: note: in expansion of macro 'this_cpu_write'
    8898 |                 this_cpu_write(tr->array_buffer.data->ftrace_ignore_pid,
         |                 ^~~~~~~~~~~~~~


vim +278 arch/arm64/include/asm/percpu.h

   267	
   268	#define this_cpu_read_1(pcp)		\
   269		_pcp_wrap_return(__percpu_read_8, pcp)
   270	#define this_cpu_read_2(pcp)		\
   271		_pcp_wrap_return(__percpu_read_16, pcp)
   272	#define this_cpu_read_4(pcp)		\
   273		_pcp_wrap_return(__percpu_read_32, pcp)
   274	#define this_cpu_read_8(pcp)		\
   275		_pcp_wrap_return(__percpu_read_64, pcp)
   276	
   277	#define this_cpu_write_1(pcp, val)	\
 > 278		_pcp_wrap(__percpu_write_8, pcp, (unsigned long)val)
   279	#define this_cpu_write_2(pcp, val)	\
 > 280		_pcp_wrap(__percpu_write_16, pcp, (unsigned long)val)
   281	#define this_cpu_write_4(pcp, val)	\
 > 282		_pcp_wrap(__percpu_write_32, pcp, (unsigned long)val)
   283	#define this_cpu_write_8(pcp, val)	\
   284		_pcp_wrap(__percpu_write_64, pcp, (unsigned long)val)
   285	

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

                 reply	other threads:[~2026-08-01  9:43 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=202608011641.dj2IIpnP-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=mark.rutland@arm.com \
    --cc=oe-kbuild-all@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox