Skip to contentSkip to conversation

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

DISCUSSION Mark Brown 2 participants 2 messages Jul 31 Linux-next tree

lore
Share & tools
lore

Mark Brown

author maintainer
#0 lore raw

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.

#1 lore raw
Quoted 82 lines · Mark Brown

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);
      |                       ^~~~~~~~~
Quoted 5 lines

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