appending to config: .config .config:4588:warning: override: reassigning to symbol BLK_DEV_INITRD .config:4590:warning: override: reassigning to symbol BPF .config:4591:warning: override: reassigning to symbol BPF_SYSCALL .config:4592:warning: override: reassigning to symbol BPF_JIT .config:4593:warning: override: reassigning to symbol HAVE_EBPF_JIT .config:4595:warning: override: reassigning to symbol FTRACE_SYSCALLS .config:4596:warning: override: reassigning to symbol FUNCTION_TRACER .config:4597:warning: override: reassigning to symbol HAVE_DYNAMIC_FTRACE .config:4599:warning: override: reassigning to symbol HAVE_KPROBES .config:4600:warning: override: reassigning to symbol KPROBES .config:4601:warning: override: reassigning to symbol KPROBE_EVENTS .config:4602:warning: override: reassigning to symbol ARCH_SUPPORTS_UPROBES .config:4603:warning: override: reassigning to symbol UPROBES .config:4604:warning: override: reassigning to symbol UPROBE_EVENTS .config:4605:warning: override: reassigning to symbol DEBUG_FS .config:4607:warning: override: reassigning to symbol FW_CFG_SYSFS .config:4610:warning: override: reassigning to symbol DRM .config:4614:warning: override: reassigning to symbol VIRTIO_IOMMU .config:4616:warning: override: reassigning to symbol SOUND .config:4626:warning: override: reassigning to symbol SECURITYFS .config:4628:warning: override: reassigning to symbol SQUASHFS .config:4631:warning: override: reassigning to symbol FUSE_FS .config:4633:warning: override: reassigning to symbol LOCALVERSION_AUTO .config:4634:warning: override: reassigning to symbol TEST_KMOD .config:4635:warning: override: reassigning to symbol USB .config:4636:warning: override: reassigning to symbol CAN .config:4638:warning: override: reassigning to symbol I2C .config:4639:warning: override: reassigning to symbol USB_HID .config:4640:warning: override: reassigning to symbol HID .config:4641:warning: override: reassigning to symbol TIGON3 .config:4642:warning: override: reassigning to symbol BNX2X .config:4643:warning: override: reassigning to symbol CHELSIO_T1 .config:4644:warning: override: reassigning to symbol BE2NET .config:4647:warning: override: reassigning to symbol E100 .config:4649:warning: override: reassigning to symbol IXGBE .config:4650:warning: override: reassigning to symbol I40E .config:4651:warning: override: reassigning to symbol MLX4_EN .config:4652:warning: override: reassigning to symbol MLX5_CORE .config:4653:warning: override: reassigning to symbol MYRI10GE .config:4654:warning: override: reassigning to symbol NETXEN_NIC .config:4655:warning: override: reassigning to symbol NFS_FS .config:4656:warning: override: reassigning to symbol IPV6 .config:4657:warning: override: reassigning to symbol AUDIT .config:4658:warning: override: reassigning to symbol SECURITY .config:4659:warning: override: reassigning to symbol WIRELESS .config:4660:warning: override: reassigning to symbol WLAN .config:4661:warning: override: reassigning to symbol SCHED_MC .config:4662:warning: override: reassigning to symbol CPU_FREQ .config:4663:warning: override: reassigning to symbol INFINIBAND .config:4664:warning: override: reassigning to symbol PPP .config:4666:warning: override: reassigning to symbol EXT2_FS .config:4668:warning: override: reassigning to symbol JFS_FS .config:4669:warning: override: reassigning to symbol XFS_FS .config:4670:warning: override: reassigning to symbol BTRFS_FS .config:4671:warning: override: reassigning to symbol HFS_FS .config:4672:warning: override: reassigning to symbol HFSPLUS_FS .config:4673:warning: override: reassigning to symbol SCSI_FC_ATTRS .config:4674:warning: override: reassigning to symbol SCSI_CXGB3_ISCSI .config:4675:warning: override: reassigning to symbol SCSI_CXGB4_ISCSI .config:4676:warning: override: reassigning to symbol SCSI_BNX2_ISCSI .config:4677:warning: override: reassigning to symbol BE2ISCSI .config:4678:warning: override: reassigning to symbol SCSI_MPT2SAS .config:4680:warning: override: reassigning to symbol SCSI_SYM53C8XX_2 .config:4681:warning: override: reassigning to symbol SCSI_IPR .config:4683:warning: override: reassigning to symbol SCSI_QLA_ISCSI .config:4684:warning: override: reassigning to symbol SCSI_DH .config:4689:warning: override: reassigning to symbol YENTA .config:4690:warning: override: reassigning to symbol NETFILTER .config:4691:warning: override: reassigning to symbol RFKILL .config:4692:warning: override: reassigning to symbol ETHERNET .config:4693:warning: override: reassigning to symbol BLK_DEV_SR .config:4694:warning: override: reassigning to symbol TCP_MD5SIG .config:4695:warning: override: reassigning to symbol XFRM_USER .config:4696:warning: override: reassigning to symbol CRYPTO .config:4697:warning: override: reassigning to symbol EXT4_FS .config:4698:warning: override: reassigning to symbol VFAT_FS .config:4699:warning: override: reassigning to symbol FAT_FS .config:4700:warning: override: reassigning to symbol MSDOS_FS .config:4702:warning: override: reassigning to symbol AUTOFS_FS .config:4703:warning: override: reassigning to symbol NVRAM .config:4705:warning: override: reassigning to symbol SERIO .config:4706:warning: override: reassigning to symbol PCI .config:4707:warning: override: reassigning to symbol INPUT .config:4708:warning: override: reassigning to symbol INPUT_KEYBOARD .config:4709:warning: override: reassigning to symbol KEYBOARD_ATKBD .config:4710:warning: override: reassigning to symbol SERIAL_8250 .config:4711:warning: override: reassigning to symbol SERIAL_8250_CONSOLE .config:4712:warning: override: reassigning to symbol X86_VERBOSE_BOOTUP .config:4713:warning: override: reassigning to symbol VGA_CONSOLE .config:4714:warning: override: reassigning to symbol FB .config:4715:warning: override: reassigning to symbol FB_VESA .config:4717:warning: override: reassigning to symbol RTC_CLASS .config:4718:warning: override: reassigning to symbol RTC_HCTOSYS .config:4719:warning: override: reassigning to symbol RTC_DRV_CMOS .config:4720:warning: override: reassigning to symbol HYPERVISOR_GUEST .config:4721:warning: override: reassigning to symbol PARAVIRT .config:4722:warning: override: reassigning to symbol KVM_GUEST .config:4723:warning: override: reassigning to symbol KVM .config:4750:warning: override: reassigning to symbol DEBUG_BUGVERBOSE .config:4752:warning: override: reassigning to symbol DYNAMIC_DEBUG .config:4754:warning: override: reassigning to symbol PRINTK_CALLER .config:4756:warning: override: reassigning to symbol PRINTK_TIME .config:4758:warning: override: reassigning to symbol SYMBOLIC_ERRNAME .config:4768:warning: override: reassigning to symbol DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT .config:4770:warning: override: reassigning to symbol DEBUG_SECTION_MISMATCH .config:4772:warning: override: reassigning to symbol FRAME_WARN .config:4774:warning: override: reassigning to symbol SECTION_MISMATCH_WARN_ONLY .config:4788:warning: override: reassigning to symbol WARN_ALL_UNSEEDED_RANDOM .config:4790:warning: override: reassigning to symbol DEBUG_FS .config:4792:warning: override: reassigning to symbol DEBUG_FS_ALLOW_ALL .config:4794:warning: override: reassigning to symbol DEBUG_IRQFLAGS .config:4796:warning: override: reassigning to symbol UBSAN .config:4814:warning: override: reassigning to symbol NET_DEV_REFCNT_TRACKER .config:4816:warning: override: reassigning to symbol NET_NS_REFCNT_TRACKER .config:4818:warning: override: reassigning to symbol DEBUG_NET .config:4826:warning: override: reassigning to symbol DEBUG_PAGEALLOC .config:4830:warning: override: reassigning to symbol DEBUG_RODATA_TEST .config:4832:warning: override: reassigning to symbol DEBUG_WX .config:4834:warning: override: reassigning to symbol KFENCE .config:4836:warning: override: reassigning to symbol PAGE_POISONING .config:4838:warning: override: reassigning to symbol SLUB_STATS .config:4840:warning: override: reassigning to symbol PAGE_EXTENSION .config:4842:warning: override: reassigning to symbol PAGE_OWNER .config:4844:warning: override: reassigning to symbol DEBUG_KMEMLEAK .config:4848:warning: override: reassigning to symbol DEBUG_OBJECTS .config:4862:warning: override: reassigning to symbol DEBUG_PER_CPU_MAPS .config:4864:warning: override: reassigning to symbol DEBUG_STACK_USAGE .config:4866:warning: override: reassigning to symbol DEBUG_VIRTUAL .config:4868:warning: override: reassigning to symbol DEBUG_VM .config:4876:warning: override: reassigning to symbol KASAN .config:4884:warning: override: reassigning to symbol PTDUMP_DEBUGFS .config:4886:warning: override: reassigning to symbol SCHED_STACK_END_CHECK .config:4888:warning: override: reassigning to symbol SLUB_DEBUG_ON .config:4900:warning: override: reassigning to symbol DEBUG_ATOMIC_SLEEP .config:4902:warning: override: reassigning to symbol DETECT_HUNG_TASK .config:4904:warning: override: reassigning to symbol PANIC_ON_OOPS .config:4906:warning: override: reassigning to symbol PANIC_TIMEOUT .config:4908:warning: override: reassigning to symbol SOFTLOCKUP_DETECTOR .config:4918:warning: override: reassigning to symbol PROVE_LOCKING .config:4926:warning: override: reassigning to symbol BUG_ON_DATA_CORRUPTION .config:4934:warning: override: reassigning to symbol RCU_EXPERT .config:4946:warning: override: reassigning to symbol BRANCH_PROFILE_NONE .config:4948:warning: override: reassigning to symbol DYNAMIC_FTRACE .config:4950:warning: override: reassigning to symbol FTRACE .config:4952:warning: override: reassigning to symbol FUNCTION_TRACER .config:4960:warning: override: reassigning to symbol DEBUG_PREEMPT .config:4962:warning: override: reassigning to symbol PREEMPT .config:4964:warning: override: reassigning to symbol CONFIGFS_FS .config:4970:warning: override: reassigning to symbol INET_PSP .config:4972:warning: override: reassigning to symbol IPV6 .config:4974:warning: override: reassigning to symbol NETCONSOLE .config:4978:warning: override: reassigning to symbol NETCONSOLE_EXTENDED_LOG .config:4980:warning: override: reassigning to symbol NETDEVSIM .config:4986:warning: override: reassigning to symbol FAULT_INJECTION .config:4990:warning: override: reassigning to symbol FUNCTION_ERROR_INJECTION .config:4992:warning: override: reassigning to symbol IO_URING .config:4994:warning: override: reassigning to symbol IPV6 .config:5000:warning: override: reassigning to symbol NET_IPGRE_DEMUX .config:5004:warning: override: reassigning to symbol VXLAN .config:5007:warning: override: reassigning to symbol UEVENT_HELPER .config:5008:warning: override: reassigning to symbol VIRTIO .config:5009:warning: override: reassigning to symbol VIRTIO_PCI .config:5010:warning: override: reassigning to symbol VIRTIO_MMIO .config:5011:warning: override: reassigning to symbol VIRTIO_BALLOON .config:5012:warning: override: reassigning to symbol NET .config:5013:warning: override: reassigning to symbol NET_CORE .config:5014:warning: override: reassigning to symbol NETDEVICES .config:5015:warning: override: reassigning to symbol NETWORK_FILESYSTEMS .config:5016:warning: override: reassigning to symbol INET .config:5017:warning: override: reassigning to symbol NET_9P .config:5018:warning: override: reassigning to symbol NET_9P_VIRTIO .config:5019:warning: override: reassigning to symbol 9P_FS .config:5020:warning: override: reassigning to symbol VIRTIO_NET .config:5022:warning: override: reassigning to symbol BINFMT_SCRIPT .config:5023:warning: override: reassigning to symbol SHMEM .config:5024:warning: override: reassigning to symbol TMPFS .config:5025:warning: override: reassigning to symbol UNIX .config:5027:warning: override: reassigning to symbol DEVTMPFS .config:5028:warning: override: reassigning to symbol TTY .config:5029:warning: override: reassigning to symbol VT .config:5030:warning: override: reassigning to symbol UNIX98_PTYS .config:5031:warning: override: reassigning to symbol EARLY_PRINTK .config:5032:warning: override: reassigning to symbol INOTIFY_USER .config:5035:warning: override: reassigning to symbol BLOCK .config:5036:warning: override: reassigning to symbol SCSI_LOWLEVEL .config:5037:warning: override: reassigning to symbol SCSI .config:5038:warning: override: reassigning to symbol SCSI_VIRTIO .config:5039:warning: override: reassigning to symbol BLK_DEV_SD .config:5042:warning: override: reassigning to symbol VIRTIO_CONSOLE .config:5045:warning: override: reassigning to symbol WATCHDOG .config:5046:warning: override: reassigning to symbol WATCHDOG_CORE .config:5047:warning: override: reassigning to symbol I6300ESB_WDT .config:5049:warning: override: reassigning to symbol DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT .config:5051:warning: override: reassigning to symbol OVERLAY_FS .config:5053:warning: override: reassigning to symbol DAX .config:5056:warning: override: reassigning to symbol MEMORY_HOTPLUG .config:5059:warning: override: reassigning to symbol FUSE_FS .config:5062:warning: override: reassigning to symbol VSOCKETS In file included from ./arch/x86/entry/vdso/vdso32/../common/vclock_gettime.c:16, from arch/x86/entry/vdso/vdso32/vclock_gettime.c:1: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:72:56: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 72 | static __always_inline int do_hres_timens(const struct vdso_data *vdns, clockid_t clk, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘do_hres_timens’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:75:49: error: invalid use of undefined type ‘const struct vdso_data’ 75 | const struct timens_offset *offs = &vdns->offset[clk]; | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:82:19: error: invalid use of undefined type ‘struct vdso_data’ 82 | vd = vdns - (clk == CLOCK_MONOTONIC_RAW ? CS_RAW : CS_HRES_COARSE); | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:83:14: error: implicit declaration of function ‘__arch_get_timens_vdso_data’ [-Wimplicit-function-declaration] 83 | vd = __arch_get_timens_vdso_data(vd); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:83:12: error: assignment to ‘const struct vdso_data *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 83 | vd = __arch_get_timens_vdso_data(vd); | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:85:25: error: invalid use of undefined type ‘struct vdso_data’ 85 | vd = &vd[CS_HRES_COARSE]; | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:87:25: error: invalid use of undefined type ‘struct vdso_data’ 87 | vd = &vd[CS_RAW]; | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:88:22: error: invalid use of undefined type ‘const struct vdso_data’ 88 | vdso_ts = &vd->basetime[clk]; | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:91:39: error: passing argument 1 of ‘vdso_read_begin’ from incompatible pointer type [-Wincompatible-pointer-types] 91 | seq = vdso_read_begin(vd); | ^~ | | | const struct vdso_data * In file included from ./arch/x86/include/asm/vgtod.h:13, from ./arch/x86/include/asm/vdso/gettimeofday.h:16, from ./include/vdso/datapage.h:196, from ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:5: ./include/vdso/helpers.h:10:69: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 10 | static __always_inline u32 vdso_read_begin(const struct vdso_clock *vc) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ In file included from ./include/linux/export.h:5, from ./include/linux/linkage.h:7, from ./arch/x86/include/asm/cache.h:5, from ./include/vdso/cache.h:5, from ./include/linux/cache.h:6, from ./include/linux/time.h:5, from ./arch/x86/entry/vdso/vdso32/../common/vclock_gettime.c:11: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:93:51: error: passing argument 1 of ‘arch_vdso_clocksource_ok’ from incompatible pointer type [-Wincompatible-pointer-types] 93 | if (unlikely(!vdso_clocksource_ok(vd))) | ^~ | | | const struct vdso_data * ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ./arch/x86/include/asm/vdso/gettimeofday.h:172:70: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 172 | static inline bool arch_vdso_clocksource_ok(const struct vdso_clock *vc) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:96:50: error: invalid use of undefined type ‘const struct vdso_data’ 96 | cycles = __arch_get_hw_counter(vd->clock_mode, vd); | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:96:64: error: passing argument 2 of ‘__arch_get_hw_counter’ from incompatible pointer type [-Wincompatible-pointer-types] 96 | cycles = __arch_get_hw_counter(vd->clock_mode, vd); | ^~ | | | const struct vdso_data * ./arch/x86/include/asm/vdso/gettimeofday.h:147:70: note: expected ‘const struct vdso_time_data *’ but argument is of type ‘const struct vdso_data *’ 147 | const struct vdso_time_data *vd) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:99:35: error: passing argument 1 of ‘vdso_calc_ns’ from incompatible pointer type [-Wincompatible-pointer-types] 99 | ns = vdso_calc_ns(vd, cycles, vdso_ts->nsec); | ^~ | | | const struct vdso_data * ./arch/x86/include/asm/vdso/gettimeofday.h:211:66: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 211 | static __always_inline u64 vdso_calc_ns(const struct vdso_clock *vc, u64 cycles, u64 base) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:101:43: error: passing argument 1 of ‘vdso_read_retry’ from incompatible pointer type [-Wincompatible-pointer-types] 101 | } while (unlikely(vdso_read_retry(vd, seq))); | ^~ | | | const struct vdso_data * ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ./include/vdso/helpers.h:21:69: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 21 | static __always_inline u32 vdso_read_retry(const struct vdso_clock *vc, | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:130:49: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 130 | static __always_inline int do_hres(const struct vdso_data *vd, clockid_t clk, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘do_hres’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:133:51: error: invalid use of undefined type ‘const struct vdso_data’ 133 | const struct vdso_timestamp *vdso_ts = &vd->basetime[clk]; | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:52: error: invalid use of undefined type ‘const struct vdso_data’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~ ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ././include/linux/compiler_types.h:684:9: note: in expansion of macro ‘__compiletime_assert’ 684 | __compiletime_assert(condition, msg, prefix, suffix) | ^~~~~~~~~~~~~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:40: note: in expansion of macro ‘READ_ONCE’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:52: error: invalid use of undefined type ‘const struct vdso_data’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~ ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ././include/linux/compiler_types.h:684:9: note: in expansion of macro ‘__compiletime_assert’ 684 | __compiletime_assert(condition, msg, prefix, suffix) | ^~~~~~~~~~~~~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:40: note: in expansion of macro ‘READ_ONCE’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:52: error: invalid use of undefined type ‘const struct vdso_data’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~ ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ././include/linux/compiler_types.h:684:9: note: in expansion of macro ‘__compiletime_assert’ 684 | __compiletime_assert(condition, msg, prefix, suffix) | ^~~~~~~~~~~~~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:40: note: in expansion of macro ‘READ_ONCE’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:52: error: invalid use of undefined type ‘const struct vdso_data’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~ ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ././include/linux/compiler_types.h:684:9: note: in expansion of macro ‘__compiletime_assert’ 684 | __compiletime_assert(condition, msg, prefix, suffix) | ^~~~~~~~~~~~~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:40: note: in expansion of macro ‘READ_ONCE’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:52: error: invalid use of undefined type ‘const struct vdso_data’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~ ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ././include/linux/compiler_types.h:684:9: note: in expansion of macro ‘__compiletime_assert’ 684 | __compiletime_assert(condition, msg, prefix, suffix) | ^~~~~~~~~~~~~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:40: note: in expansion of macro ‘READ_ONCE’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:52: error: invalid use of undefined type ‘const struct vdso_data’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~ ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ./include/asm-generic/rwonce.h:44:43: note: in expansion of macro ‘__unqual_scalar_typeof’ 44 | #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x)) | ^~~~~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:50:9: note: in expansion of macro ‘__READ_ONCE’ 50 | __READ_ONCE(x); \ | ^~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:40: note: in expansion of macro ‘READ_ONCE’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:52: error: invalid use of undefined type ‘const struct vdso_data’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~ ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ./include/asm-generic/rwonce.h:50:9: note: in expansion of macro ‘__READ_ONCE’ 50 | __READ_ONCE(x); \ | ^~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:40: note: in expansion of macro ‘READ_ONCE’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:155:31: error: invalid use of undefined type ‘const struct vdso_data’ 155 | vd->clock_mode == VDSO_CLOCKMODE_TIMENS) | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:156:55: error: passing argument 1 of ‘do_hres_timens’ from incompatible pointer type [-Wincompatible-pointer-types] 156 | return do_hres_timens(vd, clk, ts); | ^~ | | | const struct vdso_data * ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:72:67: note: expected ‘const struct vdso_data *’ but argument is of type ‘const struct vdso_data *’ 72 | static __always_inline int do_hres_timens(const struct vdso_data *vdns, clockid_t clk, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:161:51: error: passing argument 1 of ‘arch_vdso_clocksource_ok’ from incompatible pointer type [-Wincompatible-pointer-types] 161 | if (unlikely(!vdso_clocksource_ok(vd))) | ^~ | | | const struct vdso_data * ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ./arch/x86/include/asm/vdso/gettimeofday.h:172:70: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 172 | static inline bool arch_vdso_clocksource_ok(const struct vdso_clock *vc) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:164:50: error: invalid use of undefined type ‘const struct vdso_data’ 164 | cycles = __arch_get_hw_counter(vd->clock_mode, vd); | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:164:64: error: passing argument 2 of ‘__arch_get_hw_counter’ from incompatible pointer type [-Wincompatible-pointer-types] 164 | cycles = __arch_get_hw_counter(vd->clock_mode, vd); | ^~ | | | const struct vdso_data * ./arch/x86/include/asm/vdso/gettimeofday.h:147:70: note: expected ‘const struct vdso_time_data *’ but argument is of type ‘const struct vdso_data *’ 147 | const struct vdso_time_data *vd) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:167:35: error: passing argument 1 of ‘vdso_calc_ns’ from incompatible pointer type [-Wincompatible-pointer-types] 167 | ns = vdso_calc_ns(vd, cycles, vdso_ts->nsec); | ^~ | | | const struct vdso_data * ./arch/x86/include/asm/vdso/gettimeofday.h:211:66: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 211 | static __always_inline u64 vdso_calc_ns(const struct vdso_clock *vc, u64 cycles, u64 base) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:169:43: error: passing argument 1 of ‘vdso_read_retry’ from incompatible pointer type [-Wincompatible-pointer-types] 169 | } while (unlikely(vdso_read_retry(vd, seq))); | ^~ | | | const struct vdso_data * ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ./include/vdso/helpers.h:21:69: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 21 | static __always_inline u32 vdso_read_retry(const struct vdso_clock *vc, | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:182:58: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 182 | static __always_inline int do_coarse_timens(const struct vdso_data *vdns, clockid_t clk, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘do_coarse_timens’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:185:38: error: initialization of ‘const struct vdso_data *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 185 | const struct vdso_data *vd = __arch_get_timens_vdso_data(vdns); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:186:51: error: invalid use of undefined type ‘const struct vdso_data’ 186 | const struct vdso_timestamp *vdso_ts = &vd->basetime[clk]; | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:187:49: error: invalid use of undefined type ‘const struct vdso_data’ 187 | const struct timens_offset *offs = &vdns->offset[clk]; | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:193:39: error: passing argument 1 of ‘vdso_read_begin’ from incompatible pointer type [-Wincompatible-pointer-types] 193 | seq = vdso_read_begin(vd); | ^~ | | | const struct vdso_data * ./include/vdso/helpers.h:10:69: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 10 | static __always_inline u32 vdso_read_begin(const struct vdso_clock *vc) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:196:43: error: passing argument 1 of ‘vdso_read_retry’ from incompatible pointer type [-Wincompatible-pointer-types] 196 | } while (unlikely(vdso_read_retry(vd, seq))); | ^~ | | | const struct vdso_data * ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ./include/vdso/helpers.h:21:69: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 21 | static __always_inline u32 vdso_read_retry(const struct vdso_clock *vc, | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:182:85: error: parameter ‘clk’ set but not used [-Werror=unused-but-set-parameter] 182 | static __always_inline int do_coarse_timens(const struct vdso_data *vdns, clockid_t clk, | ~~~~~~~~~~^~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:218:51: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 218 | static __always_inline int do_coarse(const struct vdso_data *vd, clockid_t clk, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘do_coarse’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:221:51: error: invalid use of undefined type ‘const struct vdso_data’ 221 | const struct vdso_timestamp *vdso_ts = &vd->basetime[clk]; | ^~ In file included from : ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:43: error: invalid use of undefined type ‘const struct vdso_data’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:31: note: in expansion of macro ‘READ_ONCE’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:43: error: invalid use of undefined type ‘const struct vdso_data’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:31: note: in expansion of macro ‘READ_ONCE’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:43: error: invalid use of undefined type ‘const struct vdso_data’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:31: note: in expansion of macro ‘READ_ONCE’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:43: error: invalid use of undefined type ‘const struct vdso_data’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:31: note: in expansion of macro ‘READ_ONCE’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:43: error: invalid use of undefined type ‘const struct vdso_data’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:31: note: in expansion of macro ‘READ_ONCE’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:43: error: invalid use of undefined type ‘const struct vdso_data’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~ ././include/linux/compiler_types.h:632:53: note: in definition of macro ‘__unqual_scalar_typeof’ 632 | #define __unqual_scalar_typeof(x) __typeof_unqual__(x) | ^ ./include/asm-generic/rwonce.h:50:9: note: in expansion of macro ‘__READ_ONCE’ 50 | __READ_ONCE(x); \ | ^~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:31: note: in expansion of macro ‘READ_ONCE’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~~~~~~~~ In file included from ./arch/x86/include/generated/asm/rwonce.h:1, from ./include/linux/compiler.h:372: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:43: error: invalid use of undefined type ‘const struct vdso_data’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~ ./include/asm-generic/rwonce.h:44:73: note: in definition of macro ‘__READ_ONCE’ 44 | #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x)) | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:31: note: in expansion of macro ‘READ_ONCE’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:231:31: error: invalid use of undefined type ‘const struct vdso_data’ 231 | vd->clock_mode == VDSO_CLOCKMODE_TIMENS) | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:232:57: error: passing argument 1 of ‘do_coarse_timens’ from incompatible pointer type [-Wincompatible-pointer-types] 232 | return do_coarse_timens(vd, clk, ts); | ^~ | | | const struct vdso_data * ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:182:69: note: expected ‘const struct vdso_data *’ but argument is of type ‘const struct vdso_data *’ 182 | static __always_inline int do_coarse_timens(const struct vdso_data *vdns, clockid_t clk, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:239:43: error: passing argument 1 of ‘vdso_read_retry’ from incompatible pointer type [-Wincompatible-pointer-types] 239 | } while (unlikely(vdso_read_retry(vd, seq))); | ^~ | | | const struct vdso_data * ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ./include/vdso/helpers.h:21:69: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 21 | static __always_inline u32 vdso_read_retry(const struct vdso_clock *vc, | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:245:43: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 245 | __cvdso_clock_gettime_common(const struct vdso_data *vd, clockid_t clock, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_clock_gettime_common’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:260:25: error: invalid use of undefined type ‘struct vdso_data’ 260 | vd = &vd[CS_HRES_COARSE]; | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:262:37: error: invalid use of undefined type ‘struct vdso_data’ 262 | return do_coarse(&vd[CS_HRES_COARSE], clock, ts); | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:262:34: error: passing argument 1 of ‘do_coarse’ from incompatible pointer type [-Wincompatible-pointer-types] 262 | return do_coarse(&vd[CS_HRES_COARSE], clock, ts); | ^~~~~~~~~~~~~~~~~~~ | | | const struct vdso_data * ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:218:62: note: expected ‘const struct vdso_data *’ but argument is of type ‘const struct vdso_data *’ 218 | static __always_inline int do_coarse(const struct vdso_data *vd, clockid_t clk, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:264:25: error: invalid use of undefined type ‘struct vdso_data’ 264 | vd = &vd[CS_RAW]; | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:268:24: error: passing argument 1 of ‘do_hres’ from incompatible pointer type [-Wincompatible-pointer-types] 268 | return do_hres(vd, clock, ts); | ^~ | | | const struct vdso_data * ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:130:60: note: expected ‘const struct vdso_data *’ but argument is of type ‘const struct vdso_data *’ 130 | static __always_inline int do_hres(const struct vdso_data *vd, clockid_t clk, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:272:41: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 272 | __cvdso_clock_gettime_data(const struct vdso_data *vd, clockid_t clock, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_clock_gettime_data’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:275:48: error: passing argument 1 of ‘__cvdso_clock_gettime_common’ from incompatible pointer type [-Wincompatible-pointer-types] 275 | int ret = __cvdso_clock_gettime_common(vd, clock, ts); | ^~ | | | const struct vdso_data * ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:245:54: note: expected ‘const struct vdso_data *’ but argument is of type ‘const struct vdso_data *’ 245 | __cvdso_clock_gettime_common(const struct vdso_data *vd, clockid_t clock, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_clock_gettime’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:285:43: error: implicit declaration of function ‘__arch_get_vdso_data’ [-Wimplicit-function-declaration] 285 | return __cvdso_clock_gettime_data(__arch_get_vdso_data(), clock, ts); | ^~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:285:43: error: passing argument 1 of ‘__cvdso_clock_gettime_data’ makes pointer from integer without a cast [-Wint-conversion] 285 | return __cvdso_clock_gettime_data(__arch_get_vdso_data(), clock, ts); | ^~~~~~~~~~~~~~~~~~~~~~ | | | int ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:272:52: note: expected ‘const struct vdso_data *’ but argument is of type ‘int’ 272 | __cvdso_clock_gettime_data(const struct vdso_data *vd, clockid_t clock, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:290:43: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 290 | __cvdso_clock_gettime32_data(const struct vdso_data *vd, clockid_t clock, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_clock_gettime32_data’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:296:44: error: passing argument 1 of ‘__cvdso_clock_gettime_common’ from incompatible pointer type [-Wincompatible-pointer-types] 296 | ret = __cvdso_clock_gettime_common(vd, clock, &ts); | ^~ | | | const struct vdso_data * ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:245:54: note: expected ‘const struct vdso_data *’ but argument is of type ‘const struct vdso_data *’ 245 | __cvdso_clock_gettime_common(const struct vdso_data *vd, clockid_t clock, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_clock_gettime32’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:311:45: error: passing argument 1 of ‘__cvdso_clock_gettime32_data’ makes pointer from integer without a cast [-Wint-conversion] 311 | return __cvdso_clock_gettime32_data(__arch_get_vdso_data(), clock, res); | ^~~~~~~~~~~~~~~~~~~~~~ | | | int ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:290:54: note: expected ‘const struct vdso_data *’ but argument is of type ‘int’ 290 | __cvdso_clock_gettime32_data(const struct vdso_data *vd, clockid_t clock, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:316:40: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 316 | __cvdso_gettimeofday_data(const struct vdso_data *vd, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_gettimeofday_data’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:323:32: error: invalid use of undefined type ‘struct vdso_data’ 323 | if (do_hres(&vd[CS_HRES_COARSE], CLOCK_REALTIME, &ts)) | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:323:29: error: passing argument 1 of ‘do_hres’ from incompatible pointer type [-Wincompatible-pointer-types] 323 | if (do_hres(&vd[CS_HRES_COARSE], CLOCK_REALTIME, &ts)) | ^~~~~~~~~~~~~~~~~~~ | | | const struct vdso_data * ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:130:60: note: expected ‘const struct vdso_data *’ but argument is of type ‘const struct vdso_data *’ 130 | static __always_inline int do_hres(const struct vdso_data *vd, clockid_t clk, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:332:23: error: invalid use of undefined type ‘const struct vdso_data’ 332 | vd->clock_mode == VDSO_CLOCKMODE_TIMENS) | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:333:28: error: assignment to ‘const struct vdso_data *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 333 | vd = __arch_get_timens_vdso_data(vd); | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:335:40: error: invalid use of undefined type ‘struct vdso_data’ 335 | tz->tz_minuteswest = vd[CS_HRES_COARSE].tz_minuteswest; | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:335:56: error: invalid use of undefined type ‘const struct vdso_data’ 335 | tz->tz_minuteswest = vd[CS_HRES_COARSE].tz_minuteswest; | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:336:36: error: invalid use of undefined type ‘struct vdso_data’ 336 | tz->tz_dsttime = vd[CS_HRES_COARSE].tz_dsttime; | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:336:52: error: invalid use of undefined type ‘const struct vdso_data’ 336 | tz->tz_dsttime = vd[CS_HRES_COARSE].tz_dsttime; | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_gettimeofday’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:345:42: error: passing argument 1 of ‘__cvdso_gettimeofday_data’ makes pointer from integer without a cast [-Wint-conversion] 345 | return __cvdso_gettimeofday_data(__arch_get_vdso_data(), tv, tz); | ^~~~~~~~~~~~~~~~~~~~~~ | | | int ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:316:51: note: expected ‘const struct vdso_data *’ but argument is of type ‘int’ 316 | __cvdso_gettimeofday_data(const struct vdso_data *vd, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:350:32: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 350 | __cvdso_time_data(const struct vdso_data *vd, __kernel_old_time_t *time) | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_time_data’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:355:15: error: invalid use of undefined type ‘const struct vdso_data’ 355 | vd->clock_mode == VDSO_CLOCKMODE_TIMENS) | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:356:20: error: assignment to ‘const struct vdso_data *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 356 | vd = __arch_get_timens_vdso_data(vd); | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:25: error: invalid use of undefined type ‘struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:41: error: invalid use of undefined type ‘const struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:25: error: invalid use of undefined type ‘struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:41: error: invalid use of undefined type ‘const struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:25: error: invalid use of undefined type ‘struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:41: error: invalid use of undefined type ‘const struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:25: error: invalid use of undefined type ‘struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:41: error: invalid use of undefined type ‘const struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:25: error: invalid use of undefined type ‘struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:41: error: invalid use of undefined type ‘const struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:25: error: invalid use of undefined type ‘struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:632:53: note: in definition of macro ‘__unqual_scalar_typeof’ 632 | #define __unqual_scalar_typeof(x) __typeof_unqual__(x) | ^ ./include/asm-generic/rwonce.h:50:9: note: in expansion of macro ‘__READ_ONCE’ 50 | __READ_ONCE(x); \ | ^~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:41: error: invalid use of undefined type ‘const struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:632:53: note: in definition of macro ‘__unqual_scalar_typeof’ 632 | #define __unqual_scalar_typeof(x) __typeof_unqual__(x) | ^ ./include/asm-generic/rwonce.h:50:9: note: in expansion of macro ‘__READ_ONCE’ 50 | __READ_ONCE(x); \ | ^~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:25: error: invalid use of undefined type ‘struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ./include/asm-generic/rwonce.h:44:73: note: in definition of macro ‘__READ_ONCE’ 44 | #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x)) | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:41: error: invalid use of undefined type ‘const struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ./include/asm-generic/rwonce.h:44:73: note: in definition of macro ‘__READ_ONCE’ 44 | #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x)) | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_time’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:368:34: error: passing argument 1 of ‘__cvdso_time_data’ makes pointer from integer without a cast [-Wint-conversion] 368 | return __cvdso_time_data(__arch_get_vdso_data(), time); | ^~~~~~~~~~~~~~~~~~~~~~ | | | int ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:350:43: note: expected ‘const struct vdso_data *’ but argument is of type ‘int’ 350 | __cvdso_time_data(const struct vdso_data *vd, __kernel_old_time_t *time) | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:374:46: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 374 | int __cvdso_clock_getres_common(const struct vdso_data *vd, clockid_t clock, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_clock_getres_common’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:385:15: error: invalid use of undefined type ‘const struct vdso_data’ 385 | vd->clock_mode == VDSO_CLOCKMODE_TIMENS) | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:386:20: error: assignment to ‘const struct vdso_data *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 386 | vd = __arch_get_timens_vdso_data(vd); | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:34: error: invalid use of undefined type ‘struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:50: error: invalid use of undefined type ‘const struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:34: error: invalid use of undefined type ‘struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:50: error: invalid use of undefined type ‘const struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:34: error: invalid use of undefined type ‘struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:50: error: invalid use of undefined type ‘const struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:34: error: invalid use of undefined type ‘struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:50: error: invalid use of undefined type ‘const struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:34: error: invalid use of undefined type ‘struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:50: error: invalid use of undefined type ‘const struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:34: error: invalid use of undefined type ‘struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:632:53: note: in definition of macro ‘__unqual_scalar_typeof’ 632 | #define __unqual_scalar_typeof(x) __typeof_unqual__(x) | ^ ./include/asm-generic/rwonce.h:50:9: note: in expansion of macro ‘__READ_ONCE’ 50 | __READ_ONCE(x); \ | ^~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:50: error: invalid use of undefined type ‘const struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:632:53: note: in definition of macro ‘__unqual_scalar_typeof’ 632 | #define __unqual_scalar_typeof(x) __typeof_unqual__(x) | ^ ./include/asm-generic/rwonce.h:50:9: note: in expansion of macro ‘__READ_ONCE’ 50 | __READ_ONCE(x); \ | ^~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:34: error: invalid use of undefined type ‘struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ./include/asm-generic/rwonce.h:44:73: note: in definition of macro ‘__READ_ONCE’ 44 | #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x)) | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:50: error: invalid use of undefined type ‘const struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ./include/asm-generic/rwonce.h:44:73: note: in definition of macro ‘__READ_ONCE’ 44 | #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x)) | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:415:44: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 415 | int __cvdso_clock_getres_data(const struct vdso_data *vd, clockid_t clock, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_clock_getres_data’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:418:47: error: passing argument 1 of ‘__cvdso_clock_getres_common’ from incompatible pointer type [-Wincompatible-pointer-types] 418 | int ret = __cvdso_clock_getres_common(vd, clock, res); | ^~ | | | const struct vdso_data * ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:374:57: note: expected ‘const struct vdso_data *’ but argument is of type ‘const struct vdso_data *’ 374 | int __cvdso_clock_getres_common(const struct vdso_data *vd, clockid_t clock, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_clock_getres’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:428:42: error: passing argument 1 of ‘__cvdso_clock_getres_data’ makes pointer from integer without a cast [-Wint-conversion] 428 | return __cvdso_clock_getres_data(__arch_get_vdso_data(), clock, res); | ^~~~~~~~~~~~~~~~~~~~~~ | | | int ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:415:55: note: expected ‘const struct vdso_data *’ but argument is of type ‘int’ 415 | int __cvdso_clock_getres_data(const struct vdso_data *vd, clockid_t clock, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:433:47: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 433 | __cvdso_clock_getres_time32_data(const struct vdso_data *vd, clockid_t clock, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_clock_getres_time32_data’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:439:43: error: passing argument 1 of ‘__cvdso_clock_getres_common’ from incompatible pointer type [-Wincompatible-pointer-types] 439 | ret = __cvdso_clock_getres_common(vd, clock, &ts); | ^~ | | | const struct vdso_data * ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:374:57: note: expected ‘const struct vdso_data *’ but argument is of type ‘const struct vdso_data *’ 374 | int __cvdso_clock_getres_common(const struct vdso_data *vd, clockid_t clock, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_clock_getres_time32’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:454:49: error: passing argument 1 of ‘__cvdso_clock_getres_time32_data’ makes pointer from integer without a cast [-Wint-conversion] 454 | return __cvdso_clock_getres_time32_data(__arch_get_vdso_data(), | ^~~~~~~~~~~~~~~~~~~~~~ | | | int ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:433:58: note: expected ‘const struct vdso_data *’ but argument is of type ‘int’ 433 | __cvdso_clock_getres_time32_data(const struct vdso_data *vd, clockid_t clock, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ cc1: all warnings being treated as errors make[6]: *** [scripts/Makefile.build:289: arch/x86/entry/vdso/vdso32/vclock_gettime.o] Error 1 make[6]: *** Waiting for unfinished jobs.... make[5]: *** [scripts/Makefile.build:546: arch/x86/entry/vdso/vdso32] Error 2 make[5]: *** Waiting for unfinished jobs.... In file included from ./arch/x86/entry/vdso/vdso64/../common/vclock_gettime.c:16, from arch/x86/entry/vdso/vdso64/vclock_gettime.c:1: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:72:56: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 72 | static __always_inline int do_hres_timens(const struct vdso_data *vdns, clockid_t clk, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘do_hres_timens’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:75:49: error: invalid use of undefined type ‘const struct vdso_data’ 75 | const struct timens_offset *offs = &vdns->offset[clk]; | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:82:19: error: invalid use of undefined type ‘struct vdso_data’ 82 | vd = vdns - (clk == CLOCK_MONOTONIC_RAW ? CS_RAW : CS_HRES_COARSE); | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:83:14: error: implicit declaration of function ‘__arch_get_timens_vdso_data’ [-Wimplicit-function-declaration] 83 | vd = __arch_get_timens_vdso_data(vd); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:83:12: error: assignment to ‘const struct vdso_data *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 83 | vd = __arch_get_timens_vdso_data(vd); | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:85:25: error: invalid use of undefined type ‘struct vdso_data’ 85 | vd = &vd[CS_HRES_COARSE]; | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:87:25: error: invalid use of undefined type ‘struct vdso_data’ 87 | vd = &vd[CS_RAW]; | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:88:22: error: invalid use of undefined type ‘const struct vdso_data’ 88 | vdso_ts = &vd->basetime[clk]; | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:91:39: error: passing argument 1 of ‘vdso_read_begin’ from incompatible pointer type [-Wincompatible-pointer-types] 91 | seq = vdso_read_begin(vd); | ^~ | | | const struct vdso_data * In file included from ./arch/x86/include/asm/vgtod.h:13, from ./arch/x86/include/asm/vdso/gettimeofday.h:16, from ./include/vdso/datapage.h:196, from ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:5: ./include/vdso/helpers.h:10:69: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 10 | static __always_inline u32 vdso_read_begin(const struct vdso_clock *vc) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ In file included from ./include/linux/export.h:5, from ./include/linux/linkage.h:7, from ./arch/x86/include/asm/cache.h:5, from ./include/vdso/cache.h:5, from ./include/linux/cache.h:6, from ./include/linux/time.h:5, from ./arch/x86/entry/vdso/vdso64/../common/vclock_gettime.c:11: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:93:51: error: passing argument 1 of ‘arch_vdso_clocksource_ok’ from incompatible pointer type [-Wincompatible-pointer-types] 93 | if (unlikely(!vdso_clocksource_ok(vd))) | ^~ | | | const struct vdso_data * ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ./arch/x86/include/asm/vdso/gettimeofday.h:172:70: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 172 | static inline bool arch_vdso_clocksource_ok(const struct vdso_clock *vc) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:96:50: error: invalid use of undefined type ‘const struct vdso_data’ 96 | cycles = __arch_get_hw_counter(vd->clock_mode, vd); | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:96:64: error: passing argument 2 of ‘__arch_get_hw_counter’ from incompatible pointer type [-Wincompatible-pointer-types] 96 | cycles = __arch_get_hw_counter(vd->clock_mode, vd); | ^~ | | | const struct vdso_data * ./arch/x86/include/asm/vdso/gettimeofday.h:147:70: note: expected ‘const struct vdso_time_data *’ but argument is of type ‘const struct vdso_data *’ 147 | const struct vdso_time_data *vd) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:99:35: error: passing argument 1 of ‘vdso_calc_ns’ from incompatible pointer type [-Wincompatible-pointer-types] 99 | ns = vdso_calc_ns(vd, cycles, vdso_ts->nsec); | ^~ | | | const struct vdso_data * ./arch/x86/include/asm/vdso/gettimeofday.h:211:66: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 211 | static __always_inline u64 vdso_calc_ns(const struct vdso_clock *vc, u64 cycles, u64 base) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:101:43: error: passing argument 1 of ‘vdso_read_retry’ from incompatible pointer type [-Wincompatible-pointer-types] 101 | } while (unlikely(vdso_read_retry(vd, seq))); | ^~ | | | const struct vdso_data * ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ./include/vdso/helpers.h:21:69: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 21 | static __always_inline u32 vdso_read_retry(const struct vdso_clock *vc, | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:130:49: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 130 | static __always_inline int do_hres(const struct vdso_data *vd, clockid_t clk, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘do_hres’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:133:51: error: invalid use of undefined type ‘const struct vdso_data’ 133 | const struct vdso_timestamp *vdso_ts = &vd->basetime[clk]; | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:52: error: invalid use of undefined type ‘const struct vdso_data’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~ ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ././include/linux/compiler_types.h:684:9: note: in expansion of macro ‘__compiletime_assert’ 684 | __compiletime_assert(condition, msg, prefix, suffix) | ^~~~~~~~~~~~~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:40: note: in expansion of macro ‘READ_ONCE’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:52: error: invalid use of undefined type ‘const struct vdso_data’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~ ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ././include/linux/compiler_types.h:684:9: note: in expansion of macro ‘__compiletime_assert’ 684 | __compiletime_assert(condition, msg, prefix, suffix) | ^~~~~~~~~~~~~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:40: note: in expansion of macro ‘READ_ONCE’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:52: error: invalid use of undefined type ‘const struct vdso_data’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~ ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ././include/linux/compiler_types.h:684:9: note: in expansion of macro ‘__compiletime_assert’ 684 | __compiletime_assert(condition, msg, prefix, suffix) | ^~~~~~~~~~~~~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:40: note: in expansion of macro ‘READ_ONCE’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:52: error: invalid use of undefined type ‘const struct vdso_data’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~ ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ././include/linux/compiler_types.h:684:9: note: in expansion of macro ‘__compiletime_assert’ 684 | __compiletime_assert(condition, msg, prefix, suffix) | ^~~~~~~~~~~~~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:40: note: in expansion of macro ‘READ_ONCE’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:52: error: invalid use of undefined type ‘const struct vdso_data’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~ ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ././include/linux/compiler_types.h:684:9: note: in expansion of macro ‘__compiletime_assert’ 684 | __compiletime_assert(condition, msg, prefix, suffix) | ^~~~~~~~~~~~~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:40: note: in expansion of macro ‘READ_ONCE’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:52: error: invalid use of undefined type ‘const struct vdso_data’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~ ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ./include/asm-generic/rwonce.h:44:43: note: in expansion of macro ‘__unqual_scalar_typeof’ 44 | #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x)) | ^~~~~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:50:9: note: in expansion of macro ‘__READ_ONCE’ 50 | __READ_ONCE(x); \ | ^~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:40: note: in expansion of macro ‘READ_ONCE’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:52: error: invalid use of undefined type ‘const struct vdso_data’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~ ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ./include/asm-generic/rwonce.h:50:9: note: in expansion of macro ‘__READ_ONCE’ 50 | __READ_ONCE(x); \ | ^~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:40: note: in expansion of macro ‘READ_ONCE’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:155:31: error: invalid use of undefined type ‘const struct vdso_data’ 155 | vd->clock_mode == VDSO_CLOCKMODE_TIMENS) | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:156:55: error: passing argument 1 of ‘do_hres_timens’ from incompatible pointer type [-Wincompatible-pointer-types] 156 | return do_hres_timens(vd, clk, ts); | ^~ | | | const struct vdso_data * ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:72:67: note: expected ‘const struct vdso_data *’ but argument is of type ‘const struct vdso_data *’ 72 | static __always_inline int do_hres_timens(const struct vdso_data *vdns, clockid_t clk, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:161:51: error: passing argument 1 of ‘arch_vdso_clocksource_ok’ from incompatible pointer type [-Wincompatible-pointer-types] 161 | if (unlikely(!vdso_clocksource_ok(vd))) | ^~ | | | const struct vdso_data * ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ./arch/x86/include/asm/vdso/gettimeofday.h:172:70: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 172 | static inline bool arch_vdso_clocksource_ok(const struct vdso_clock *vc) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:164:50: error: invalid use of undefined type ‘const struct vdso_data’ 164 | cycles = __arch_get_hw_counter(vd->clock_mode, vd); | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:164:64: error: passing argument 2 of ‘__arch_get_hw_counter’ from incompatible pointer type [-Wincompatible-pointer-types] 164 | cycles = __arch_get_hw_counter(vd->clock_mode, vd); | ^~ | | | const struct vdso_data * ./arch/x86/include/asm/vdso/gettimeofday.h:147:70: note: expected ‘const struct vdso_time_data *’ but argument is of type ‘const struct vdso_data *’ 147 | const struct vdso_time_data *vd) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:167:35: error: passing argument 1 of ‘vdso_calc_ns’ from incompatible pointer type [-Wincompatible-pointer-types] 167 | ns = vdso_calc_ns(vd, cycles, vdso_ts->nsec); | ^~ | | | const struct vdso_data * ./arch/x86/include/asm/vdso/gettimeofday.h:211:66: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 211 | static __always_inline u64 vdso_calc_ns(const struct vdso_clock *vc, u64 cycles, u64 base) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:169:43: error: passing argument 1 of ‘vdso_read_retry’ from incompatible pointer type [-Wincompatible-pointer-types] 169 | } while (unlikely(vdso_read_retry(vd, seq))); | ^~ | | | const struct vdso_data * ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ./include/vdso/helpers.h:21:69: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 21 | static __always_inline u32 vdso_read_retry(const struct vdso_clock *vc, | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:182:58: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 182 | static __always_inline int do_coarse_timens(const struct vdso_data *vdns, clockid_t clk, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘do_coarse_timens’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:185:38: error: initialization of ‘const struct vdso_data *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 185 | const struct vdso_data *vd = __arch_get_timens_vdso_data(vdns); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:186:51: error: invalid use of undefined type ‘const struct vdso_data’ 186 | const struct vdso_timestamp *vdso_ts = &vd->basetime[clk]; | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:187:49: error: invalid use of undefined type ‘const struct vdso_data’ 187 | const struct timens_offset *offs = &vdns->offset[clk]; | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:193:39: error: passing argument 1 of ‘vdso_read_begin’ from incompatible pointer type [-Wincompatible-pointer-types] 193 | seq = vdso_read_begin(vd); | ^~ | | | const struct vdso_data * ./include/vdso/helpers.h:10:69: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 10 | static __always_inline u32 vdso_read_begin(const struct vdso_clock *vc) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:196:43: error: passing argument 1 of ‘vdso_read_retry’ from incompatible pointer type [-Wincompatible-pointer-types] 196 | } while (unlikely(vdso_read_retry(vd, seq))); | ^~ | | | const struct vdso_data * ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ./include/vdso/helpers.h:21:69: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 21 | static __always_inline u32 vdso_read_retry(const struct vdso_clock *vc, | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:182:85: error: parameter ‘clk’ set but not used [-Werror=unused-but-set-parameter] 182 | static __always_inline int do_coarse_timens(const struct vdso_data *vdns, clockid_t clk, | ~~~~~~~~~~^~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:218:51: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 218 | static __always_inline int do_coarse(const struct vdso_data *vd, clockid_t clk, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘do_coarse’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:221:51: error: invalid use of undefined type ‘const struct vdso_data’ 221 | const struct vdso_timestamp *vdso_ts = &vd->basetime[clk]; | ^~ In file included from : ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:43: error: invalid use of undefined type ‘const struct vdso_data’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:31: note: in expansion of macro ‘READ_ONCE’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:43: error: invalid use of undefined type ‘const struct vdso_data’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:31: note: in expansion of macro ‘READ_ONCE’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:43: error: invalid use of undefined type ‘const struct vdso_data’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:31: note: in expansion of macro ‘READ_ONCE’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:43: error: invalid use of undefined type ‘const struct vdso_data’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:31: note: in expansion of macro ‘READ_ONCE’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:43: error: invalid use of undefined type ‘const struct vdso_data’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:31: note: in expansion of macro ‘READ_ONCE’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:43: error: invalid use of undefined type ‘const struct vdso_data’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~ ././include/linux/compiler_types.h:632:53: note: in definition of macro ‘__unqual_scalar_typeof’ 632 | #define __unqual_scalar_typeof(x) __typeof_unqual__(x) | ^ ./include/asm-generic/rwonce.h:50:9: note: in expansion of macro ‘__READ_ONCE’ 50 | __READ_ONCE(x); \ | ^~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:31: note: in expansion of macro ‘READ_ONCE’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~~~~~~~~ In file included from ./arch/x86/include/generated/asm/rwonce.h:1, from ./include/linux/compiler.h:372: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:43: error: invalid use of undefined type ‘const struct vdso_data’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~ ./include/asm-generic/rwonce.h:44:73: note: in definition of macro ‘__READ_ONCE’ 44 | #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x)) | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:31: note: in expansion of macro ‘READ_ONCE’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:231:31: error: invalid use of undefined type ‘const struct vdso_data’ 231 | vd->clock_mode == VDSO_CLOCKMODE_TIMENS) | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:232:57: error: passing argument 1 of ‘do_coarse_timens’ from incompatible pointer type [-Wincompatible-pointer-types] 232 | return do_coarse_timens(vd, clk, ts); | ^~ | | | const struct vdso_data * ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:182:69: note: expected ‘const struct vdso_data *’ but argument is of type ‘const struct vdso_data *’ 182 | static __always_inline int do_coarse_timens(const struct vdso_data *vdns, clockid_t clk, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:239:43: error: passing argument 1 of ‘vdso_read_retry’ from incompatible pointer type [-Wincompatible-pointer-types] 239 | } while (unlikely(vdso_read_retry(vd, seq))); | ^~ | | | const struct vdso_data * ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ./include/vdso/helpers.h:21:69: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 21 | static __always_inline u32 vdso_read_retry(const struct vdso_clock *vc, | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:245:43: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 245 | __cvdso_clock_gettime_common(const struct vdso_data *vd, clockid_t clock, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_clock_gettime_common’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:260:25: error: invalid use of undefined type ‘struct vdso_data’ 260 | vd = &vd[CS_HRES_COARSE]; | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:262:37: error: invalid use of undefined type ‘struct vdso_data’ 262 | return do_coarse(&vd[CS_HRES_COARSE], clock, ts); | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:262:34: error: passing argument 1 of ‘do_coarse’ from incompatible pointer type [-Wincompatible-pointer-types] 262 | return do_coarse(&vd[CS_HRES_COARSE], clock, ts); | ^~~~~~~~~~~~~~~~~~~ | | | const struct vdso_data * ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:218:62: note: expected ‘const struct vdso_data *’ but argument is of type ‘const struct vdso_data *’ 218 | static __always_inline int do_coarse(const struct vdso_data *vd, clockid_t clk, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:264:25: error: invalid use of undefined type ‘struct vdso_data’ 264 | vd = &vd[CS_RAW]; | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:268:24: error: passing argument 1 of ‘do_hres’ from incompatible pointer type [-Wincompatible-pointer-types] 268 | return do_hres(vd, clock, ts); | ^~ | | | const struct vdso_data * ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:130:60: note: expected ‘const struct vdso_data *’ but argument is of type ‘const struct vdso_data *’ 130 | static __always_inline int do_hres(const struct vdso_data *vd, clockid_t clk, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:272:41: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 272 | __cvdso_clock_gettime_data(const struct vdso_data *vd, clockid_t clock, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_clock_gettime_data’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:275:48: error: passing argument 1 of ‘__cvdso_clock_gettime_common’ from incompatible pointer type [-Wincompatible-pointer-types] 275 | int ret = __cvdso_clock_gettime_common(vd, clock, ts); | ^~ | | | const struct vdso_data * ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:245:54: note: expected ‘const struct vdso_data *’ but argument is of type ‘const struct vdso_data *’ 245 | __cvdso_clock_gettime_common(const struct vdso_data *vd, clockid_t clock, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_clock_gettime’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:285:43: error: implicit declaration of function ‘__arch_get_vdso_data’ [-Wimplicit-function-declaration] 285 | return __cvdso_clock_gettime_data(__arch_get_vdso_data(), clock, ts); | ^~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:285:43: error: passing argument 1 of ‘__cvdso_clock_gettime_data’ makes pointer from integer without a cast [-Wint-conversion] 285 | return __cvdso_clock_gettime_data(__arch_get_vdso_data(), clock, ts); | ^~~~~~~~~~~~~~~~~~~~~~ | | | int ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:272:52: note: expected ‘const struct vdso_data *’ but argument is of type ‘int’ 272 | __cvdso_clock_gettime_data(const struct vdso_data *vd, clockid_t clock, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:316:40: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 316 | __cvdso_gettimeofday_data(const struct vdso_data *vd, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_gettimeofday_data’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:323:32: error: invalid use of undefined type ‘struct vdso_data’ 323 | if (do_hres(&vd[CS_HRES_COARSE], CLOCK_REALTIME, &ts)) | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:323:29: error: passing argument 1 of ‘do_hres’ from incompatible pointer type [-Wincompatible-pointer-types] 323 | if (do_hres(&vd[CS_HRES_COARSE], CLOCK_REALTIME, &ts)) | ^~~~~~~~~~~~~~~~~~~ | | | const struct vdso_data * ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:130:60: note: expected ‘const struct vdso_data *’ but argument is of type ‘const struct vdso_data *’ 130 | static __always_inline int do_hres(const struct vdso_data *vd, clockid_t clk, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:332:23: error: invalid use of undefined type ‘const struct vdso_data’ 332 | vd->clock_mode == VDSO_CLOCKMODE_TIMENS) | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:333:28: error: assignment to ‘const struct vdso_data *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 333 | vd = __arch_get_timens_vdso_data(vd); | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:335:40: error: invalid use of undefined type ‘struct vdso_data’ 335 | tz->tz_minuteswest = vd[CS_HRES_COARSE].tz_minuteswest; | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:335:56: error: invalid use of undefined type ‘const struct vdso_data’ 335 | tz->tz_minuteswest = vd[CS_HRES_COARSE].tz_minuteswest; | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:336:36: error: invalid use of undefined type ‘struct vdso_data’ 336 | tz->tz_dsttime = vd[CS_HRES_COARSE].tz_dsttime; | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:336:52: error: invalid use of undefined type ‘const struct vdso_data’ 336 | tz->tz_dsttime = vd[CS_HRES_COARSE].tz_dsttime; | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_gettimeofday’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:345:42: error: passing argument 1 of ‘__cvdso_gettimeofday_data’ makes pointer from integer without a cast [-Wint-conversion] 345 | return __cvdso_gettimeofday_data(__arch_get_vdso_data(), tv, tz); | ^~~~~~~~~~~~~~~~~~~~~~ | | | int ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:316:51: note: expected ‘const struct vdso_data *’ but argument is of type ‘int’ 316 | __cvdso_gettimeofday_data(const struct vdso_data *vd, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:350:32: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 350 | __cvdso_time_data(const struct vdso_data *vd, __kernel_old_time_t *time) | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_time_data’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:355:15: error: invalid use of undefined type ‘const struct vdso_data’ 355 | vd->clock_mode == VDSO_CLOCKMODE_TIMENS) | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:356:20: error: assignment to ‘const struct vdso_data *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 356 | vd = __arch_get_timens_vdso_data(vd); | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:25: error: invalid use of undefined type ‘struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:41: error: invalid use of undefined type ‘const struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:25: error: invalid use of undefined type ‘struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:41: error: invalid use of undefined type ‘const struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:25: error: invalid use of undefined type ‘struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:41: error: invalid use of undefined type ‘const struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:25: error: invalid use of undefined type ‘struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:41: error: invalid use of undefined type ‘const struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:25: error: invalid use of undefined type ‘struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:41: error: invalid use of undefined type ‘const struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:25: error: invalid use of undefined type ‘struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:632:53: note: in definition of macro ‘__unqual_scalar_typeof’ 632 | #define __unqual_scalar_typeof(x) __typeof_unqual__(x) | ^ ./include/asm-generic/rwonce.h:50:9: note: in expansion of macro ‘__READ_ONCE’ 50 | __READ_ONCE(x); \ | ^~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:41: error: invalid use of undefined type ‘const struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:632:53: note: in definition of macro ‘__unqual_scalar_typeof’ 632 | #define __unqual_scalar_typeof(x) __typeof_unqual__(x) | ^ ./include/asm-generic/rwonce.h:50:9: note: in expansion of macro ‘__READ_ONCE’ 50 | __READ_ONCE(x); \ | ^~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:25: error: invalid use of undefined type ‘struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ./include/asm-generic/rwonce.h:44:73: note: in definition of macro ‘__READ_ONCE’ 44 | #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x)) | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:41: error: invalid use of undefined type ‘const struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ./include/asm-generic/rwonce.h:44:73: note: in definition of macro ‘__READ_ONCE’ 44 | #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x)) | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_time’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:368:34: error: passing argument 1 of ‘__cvdso_time_data’ makes pointer from integer without a cast [-Wint-conversion] 368 | return __cvdso_time_data(__arch_get_vdso_data(), time); | ^~~~~~~~~~~~~~~~~~~~~~ | | | int ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:350:43: note: expected ‘const struct vdso_data *’ but argument is of type ‘int’ 350 | __cvdso_time_data(const struct vdso_data *vd, __kernel_old_time_t *time) | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:374:46: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 374 | int __cvdso_clock_getres_common(const struct vdso_data *vd, clockid_t clock, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_clock_getres_common’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:385:15: error: invalid use of undefined type ‘const struct vdso_data’ 385 | vd->clock_mode == VDSO_CLOCKMODE_TIMENS) | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:386:20: error: assignment to ‘const struct vdso_data *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 386 | vd = __arch_get_timens_vdso_data(vd); | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:34: error: invalid use of undefined type ‘struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:50: error: invalid use of undefined type ‘const struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:34: error: invalid use of undefined type ‘struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:50: error: invalid use of undefined type ‘const struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:34: error: invalid use of undefined type ‘struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:50: error: invalid use of undefined type ‘const struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:34: error: invalid use of undefined type ‘struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:50: error: invalid use of undefined type ‘const struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:34: error: invalid use of undefined type ‘struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:50: error: invalid use of undefined type ‘const struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:34: error: invalid use of undefined type ‘struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:632:53: note: in definition of macro ‘__unqual_scalar_typeof’ 632 | #define __unqual_scalar_typeof(x) __typeof_unqual__(x) | ^ ./include/asm-generic/rwonce.h:50:9: note: in expansion of macro ‘__READ_ONCE’ 50 | __READ_ONCE(x); \ | ^~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:50: error: invalid use of undefined type ‘const struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:632:53: note: in definition of macro ‘__unqual_scalar_typeof’ 632 | #define __unqual_scalar_typeof(x) __typeof_unqual__(x) | ^ ./include/asm-generic/rwonce.h:50:9: note: in expansion of macro ‘__READ_ONCE’ 50 | __READ_ONCE(x); \ | ^~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:34: error: invalid use of undefined type ‘struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ./include/asm-generic/rwonce.h:44:73: note: in definition of macro ‘__READ_ONCE’ 44 | #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x)) | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:50: error: invalid use of undefined type ‘const struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ./include/asm-generic/rwonce.h:44:73: note: in definition of macro ‘__READ_ONCE’ 44 | #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x)) | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:415:44: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 415 | int __cvdso_clock_getres_data(const struct vdso_data *vd, clockid_t clock, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_clock_getres_data’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:418:47: error: passing argument 1 of ‘__cvdso_clock_getres_common’ from incompatible pointer type [-Wincompatible-pointer-types] 418 | int ret = __cvdso_clock_getres_common(vd, clock, res); | ^~ | | | const struct vdso_data * ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:374:57: note: expected ‘const struct vdso_data *’ but argument is of type ‘const struct vdso_data *’ 374 | int __cvdso_clock_getres_common(const struct vdso_data *vd, clockid_t clock, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_clock_getres’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:428:42: error: passing argument 1 of ‘__cvdso_clock_getres_data’ makes pointer from integer without a cast [-Wint-conversion] 428 | return __cvdso_clock_getres_data(__arch_get_vdso_data(), clock, res); | ^~~~~~~~~~~~~~~~~~~~~~ | | | int ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:415:55: note: expected ‘const struct vdso_data *’ but argument is of type ‘int’ 415 | int __cvdso_clock_getres_data(const struct vdso_data *vd, clockid_t clock, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ cc1: all warnings being treated as errors make[6]: *** [scripts/Makefile.build:289: arch/x86/entry/vdso/vdso64/vclock_gettime.o] Error 1 make[5]: *** [scripts/Makefile.build:546: arch/x86/entry/vdso/vdso64] Error 2 make[4]: *** [scripts/Makefile.build:546: arch/x86/entry/vdso] Error 2 make[4]: *** Waiting for unfinished jobs.... make[3]: *** [scripts/Makefile.build:546: arch/x86/entry] Error 2 make[3]: *** Waiting for unfinished jobs.... make[2]: *** [scripts/Makefile.build:546: arch/x86] Error 2 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [/srv/vmksft/testing/wt-22/Makefile:2092: .] Error 2 make: *** [Makefile:248: __sub-make] Error 2