Re: linux-next: build failure after merge of the paulmck tree

"Paul E. McKenney" <[email protected]> Fri, 31 Jul 2026 09:15:51 -0700
Newsgroups org.kernel.vger.linux-next,org.kernel.vger.linux-kernel
Message-ID <dd96ea2d-8f97-4de3-9559-49236914e49b@paulmck-laptop>
On Fri, Jul 31, 2026 at 03:49:38PM +0100, Mark Brown wrote:
> Hi all,
> 
> After merging the paulmck tree, today's linux-next build
> (arm64 allnoconfig) failed like this:
> 
> In file included from /tmp/next/build/arch/arm64/include/asm/rwonce.h:81,
>                  from /tmp/next/build/include/linux/compiler.h:369,
>                  from /tmp/next/build/include/linux/proc_fs.h:8,
>                  from /tmp/next/build/kernel/time/timer_list.c:8:
> /tmp/next/build/kernel/time/timer_list.c: In function 'print_base':
> /tmp/next/build/include/asm-generic/rwonce.h:44:71: error: lvalue required as unary '&' operand
>    44 | #define __READ_ONCE(x)  (*(const volatile __unqual_scalar_typeof(x) *)&(x))
>       |                                                                       ^
> /tmp/next/build/include/asm-generic/rwonce.h:50:9: note: in expansion of macro '__READ_ONCE'
>    50 |         __READ_ONCE(x);                                                 \
>       |         ^~~~~~~~~~~
> /tmp/next/build/kernel/time/timer_list.c:102:52: note: in expansion of macro 'READ_ONCE'
>   102 |         SEQ_printf(m, "  .resolution: %u nsecs\n", READ_ONCE(hrtimer_resolution));
>       |                                                    ^~~~~~~~~
> make[5]: *** [/tmp/next/build/scripts/Makefile.build:290: kernel/time/timer_list.o] Error 1
> make[5]: *** Waiting for unfinished jobs....
> In file included from /tmp/next/build/arch/arm64/include/asm/rwonce.h:81,
>                  from /tmp/next/build/include/linux/compiler.h:369,
>                  from /tmp/next/build/include/linux/build_bug.h:5,
>                  from /tmp/next/build/include/linux/bits.h:30,
>                  from /tmp/next/build/include/linux/bitops.h:6,
>                  from /tmp/next/build/arch/arm64/include/asm/cache.h:40,
>                  from /tmp/next/build/include/vdso/cache.h:5,
>                  from /tmp/next/build/include/linux/cache.h:6,
>                  from /tmp/next/build/include/linux/time.h:5,
>                  from /tmp/next/build/kernel/time/alarmtimer.c:15:
> /tmp/next/build/kernel/time/alarmtimer.c: In function 'alarm_clock_getres':
> /tmp/next/build/include/asm-generic/rwonce.h:44:71: error: lvalue required as unary '&' operand
>    44 | #define __READ_ONCE(x)  (*(const volatile __unqual_scalar_typeof(x) *)&(x))
>       |                                                                       ^
> /tmp/next/build/include/asm-generic/rwonce.h:50:9: note: in expansion of macro '__READ_ONCE'
>    50 |         __READ_ONCE(x);                                                 \
>       |         ^~~~~~~~~~~
> /tmp/next/build/kernel/time/alarmtimer.c:606:23: note: in expansion of macro 'READ_ONCE'
>   606 |         tp->tv_nsec = READ_ONCE(hrtimer_resolution);
>       |                       ^~~~~~~~~
> make[5]: *** [/tmp/next/build/scripts/Makefile.build:290: kernel/time/alarmtimer.o] Error 1
> In file included from /tmp/next/build/arch/arm64/include/asm/rwonce.h:81,
>                  from /tmp/next/build/include/linux/compiler.h:369,
>                  from /tmp/next/build/include/linux/dev_printk.h:14,
>                  from /tmp/next/build/include/linux/device.h:15,
>                  from /tmp/next/build/include/linux/node.h:18,
>                  from /tmp/next/build/include/linux/cpu.h:17,
>                  from /tmp/next/build/kernel/time/hrtimer.c:25:
> /tmp/next/build/kernel/time/hrtimer.c: In function 'hrtimer_forward':
> /tmp/next/build/include/asm-generic/rwonce.h:44:71: error: lvalue required as unary '&' operand
>    44 | #define __READ_ONCE(x)  (*(const volatile __unqual_scalar_typeof(x) *)&(x))
>       |                                                                       ^
> /tmp/next/build/include/asm-generic/rwonce.h:50:9: note: in expansion of macro '__READ_ONCE'
>    50 |         __READ_ONCE(x);                                                 \
>       |         ^~~~~~~~~~~
> /tmp/next/build/kernel/time/hrtimer.c:1100:15: note: in expansion of macro 'READ_ONCE'
>  1100 |         res = READ_ONCE(hrtimer_resolution);
>       |               ^~~~~~~~~
> make[5]: *** [/tmp/next/build/scripts/Makefile.build:290: kernel/time/hrtimer.o] Error 1
> In file included from /tmp/next/build/arch/arm64/include/asm/rwonce.h:81,
>                  from /tmp/next/build/include/linux/compiler.h:369,
>                  from /tmp/next/build/include/linux/build_bug.h:5,
>                  from /tmp/next/build/include/linux/bits.h:30,
>                  from /tmp/next/build/include/linux/bitops.h:6,
>                  from /tmp/next/build/arch/arm64/include/asm/cache.h:40,
>                  from /tmp/next/build/include/vdso/cache.h:5,
>                  from /tmp/next/build/include/linux/cache.h:6,
>                  from /tmp/next/build/include/linux/time.h:5,
>                  from /tmp/next/build/include/linux/compat.h:10,
>                  from /tmp/next/build/kernel/time/posix-timers.c:12:
> /tmp/next/build/kernel/time/posix-timers.c: In function 'posix_get_hrtimer_res':
> /tmp/next/build/include/asm-generic/rwonce.h:44:71: error: lvalue required as unary '&' operand
>    44 | #define __READ_ONCE(x)  (*(const volatile __unqual_scalar_typeof(x) *)&(x))
>       |                                                                       ^
> /tmp/next/build/include/asm-generic/rwonce.h:50:9: note: in expansion of macro '__READ_ONCE'
>    50 |         __READ_ONCE(x);                                                 \
>       |         ^~~~~~~~~~~
> /tmp/next/build/kernel/time/posix-timers.c:275:23: note: in expansion of macro 'READ_ONCE'
>   275 |         tp->tv_nsec = READ_ONCE(hrtimer_resolution);
>       |                       ^~~~~~~~~
> 
> Caused by commit
> 
>    84f2a4fba1353 (hrtimer: Apply {READ,WRITE}_ONCE() to hrtimer_resolution accesses)
> 
> I used the tree from next-20260730 instead.

I will drop/fix this one, apologies.

							Thanx, Paul