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